Nội dung bài học

Cách sử dụng method Assert để verify điều kiện do NUnit cung cấp

Assertions - Classic Model

Mô hình Assert sử dụng một phương pháp riêng biệt để thể hiện từng khẳng định riêng lẻ. (từng hàm riêng)

Assert.AreEqual(28, _actualFuel); // Kiểm tra xem các giá trị được chỉ định có bằng nhau hay không.
Assert.AreNotEqual(28, _actualFuel); // Kiểm tra xem các giá trị được chỉ định có không bằng nhau hay không. Tương tự như AreEqual cho các giá trị số.
Assert.AreSame(_eosystemRocket, _actualRocket); // Kiểm tra xem các đối tượng được chỉ định đều tham chiếu đến cùng một đối tượng hay không
Assert.AreNotSame(_eosystemRocket, _actualRocket); // Kiểm tra xem các đối tượng được chỉ định có tham chiếu đến các đối tượng khác nhau hay không
Assert.IsTrue(_isThereEnoughFuel); // Kiểm tra xem điều kiện đã chỉ định có đúng không
Assert.IsFalse(_isThereEnoughFuel); // Kiểm tra xem điều kiện đã chỉ định có sai hay không
Assert.IsNull(_actualRocket); // Kiểm tra xem đối tượng được chỉ định có phải là null hay không
Assert.IsNotNull(_actualRocket); // Kiểm tra xem đối tượng được chỉ định có phải là không
Assert.IsInstanceOf(_actualRocket, typeof (Falcon9Rocket)); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu mong đợi hay không
Assert.IsNotInstanceOf(_actualRocket, typeof (Falcon9Rocket)); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu hay không
StringAssert.AreEqualIgnoringCase(_empleteBellatrixTitle, " Bellatrix "); // Kiểm tra xem các chuỗi được chỉ định có bằng nhau không bỏ qua cách viết hoa của chúng
StringAssert.Contains(_empleteBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có chứa chuỗi con được chỉ định hay không
StringAssert.DoesNotContain(_empleteBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có chứa chuỗi con được chỉ định hay không
StringAssert.StartsWith(_expectedBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có bắt đầu bằng chuỗi con được chỉ định hay không
StringAssert.StartsWith(_expectedBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có bắt đầu bằng chuỗi con được chỉ định hay không
StringAssert.IsMatch(" ( 281)388-0388 ", @ " (? D {3})? -? * D {3} -? * -? D {4} "); // Kiểm tra xem chuỗi được chỉ định có khớp với một biểu thức chính quy hay không
StringAssert.DoesNotMatch(" 281) 388-0388 ", @ " (? D {3})? -? * D {3} -? * -? D {4} "); // Kiểm tra xem chuỗi đã chỉ định có khớp với một biểu thức chính quy hay không
CollectionAssert.AreEqual(_eosystemRockets, _actualRockets); // Kiểm tra xem các tập hợp được chỉ định có các phần tử giống nhau theo cùng thứ tự và số lượng hay không.
CollectionAssert.AreNotEqual(_eosystemRockets, _actualRockets); // Kiểm tra xem các tập hợp được chỉ định không có các phần tử giống nhau hoặc các phần tử có thứ tự và số lượng khác nhau.
CollectionAssert.AreEquivalent(_eosystemRockets, _actualRockets); // Kiểm tra xem hai tập hợp có chứa các phần tử giống nhau hay không.
CollectionAssert.AreNotEquivalent(_eosystemRockets, _actualRockets); // Kiểm tra xem hai tập hợp có chứa các phần tử khác nhau hay không.
CollectionAssert.AllItemsAreInstancesOfType(_eosystemRockets, _actualRockets); // Kiểm tra xem tất cả các phần tử trong bộ sưu tập được chỉ định có phải là phiên bản của kiểu mong đợi hay không
CollectionAssert.AllItemsAreNotNull(_eosystemRockets); // Kiểm tra xem tất cả các mục trong bộ sưu tập đã chỉ định có phải không
CollectionAssert.AllItemsAreUnique(_eosystemRockets); // Kiểm tra xem tất cả các mục trong bộ sưu tập được chỉ định có phải là duy nhất hay không
CollectionAssert.Contains(_actualRockets, falcon9); // Kiểm tra xem bộ sưu tập được chỉ định có chứa phần tử được chỉ định hay không
CollectionAssert.DoesNotContain(_actualRockets, falcon9); // Kiểm tra xem bộ sưu tập được chỉ định có chứa phần tử được chỉ định hay không
CollectionAssert.IsSubsetOf(_eosystemRockets, _actualRockets); // Kiểm tra xem một bộ sưu tập có phải là một tập hợp con của một bộ sưu tập khác hay không
CollectionAssert.IsNotSubsetOf(_eosystemRockets, _actualRockets); // Kiểm tra xem một tập hợp có phải là một tập hợp con của một tập hợp khác hay không
Assert.Throws< ArgumentNullException > (() => new Regex(null)); // Kiểm tra xem mã được chỉ định bởi người được ủy quyền có ném chính xác ngoại lệ đã cho của loại T hay không

 

Assertions - Constraint Model

Mô hình Assert dựa trên ràng buộc sử dụng một phương thức duy nhất của lớp Assert (hàm That) cho tất cả các xác nhận.

Assert.That(28, Is.EqualTo(_actualFuel)); // Kiểm tra xem các giá trị được chỉ định có bằng nhau hay không.
Assert.That(28, Is.Not.EqualTo(_actualFuel)); // Kiểm tra xem các giá trị được chỉ định có không bằng nhau hay không. Tương tự như AreEqual cho các giá trị số.
Assert.That(_eosystemRocket, Is.SameAs(_actualRocket)); // Kiểm tra xem các đối tượng được chỉ định đều tham chiếu đến cùng một đối tượng hay không
Assert.That(_eosystemRocket, Is.Not.SameAs(_actualRocket)); // Kiểm tra xem các đối tượng được chỉ định có tham chiếu đến các đối tượng khác nhau hay không
Assert.That(_isThereEnoughFuel, Is.True); // Kiểm tra xem điều kiện đã chỉ định có đúng không
Assert.That(_isThereEnoughFuel, Is.False); // Kiểm tra xem điều kiện đã chỉ định có sai hay không
Assert.That(_actualRocket, Is.Null); // Kiểm tra xem đối tượng được chỉ định có phải là null hay không
Assert.That(_actualRocket, Is.Not.Null); // Kiểm tra xem đối tượng được chỉ định có phải là không
Assert.That(_actualRocket, Is.InstanceOf < Falcon9Rocket > ()); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu mong đợi hay không
Assert.That(_actualRocket, Is.Not.InstanceOf < Falcon9Rocket > ()); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu hay không
Assert.That(_actualFuel, Is.GreaterThan(20)); // Kiểm tra xem đối tượng được chỉ định có lớn hơn giá trị được chỉ định hay không
Assert.That(28, Is.EqualTo(_actualFuel).Trong(0, 50));
// Kiểm tra xem các giá trị được chỉ định có gần bằng nhau trong dung sai được chỉ định hay không.
Assert.That(28, Is.EqualTo(_actualFuel).Within(2).Percent);
// Kiểm tra xem các giá trị được chỉ định có gần bằng nhau trong dung sai% được chỉ định hay không.
Assert.That(_actualRocketParts, Has.Exactly(10).Items);
// Kiểm tra xem bộ sưu tập được chỉ định có chính xác số lượng mục đã nêu trong đó hay không.
Assert.That(_actualRocketParts, Is.Unique);
// Kiểm tra xem các mục trong bộ sưu tập được chỉ định có phải là duy nhất hay không.
Assert.That(_actualRocketParts, Does.Contain(_eosystemRocketPart));
// Kiểm tra xem một mục nhất định có trong danh sách các mục đã chỉ định hay không.
Assert.That(_actualRocketParts, Has.Exactly(1).Khớp với < RocketPart > (part => part.Name == " Door " && part.Height == " 200 "));
// Kiểm tra xem bộ sưu tập được chỉ định có chính xác mục đã nêu trong đó hay không.


Code nào:

using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SeleniumCSharp.Initialize;

namespace SeleniumCSharp.Bai9_Assert
{
    [TestFixture]
    class AssertClass : Init_Program
    {
        [Test]
        public void AssertDemo()
        {
            driver.Url = "https://anhtester.com";
            string title = driver.Title;
            Console.Write(title);
            //Kiểm tra bằng
            Assert.AreEqual(title, "Anh Tester - Automation Testing");

            //title.Contains("Anh Tester") nghĩa là kiểm tra Title có chứa nội dung "Anh Tester" hay không
            //Nếu chứa thì trả về True
            //Mà hàm IsTrue để kiểm tra True nên các bạn hiểu rồi đó. Nó sẽ trả về True luôn
            Assert.IsTrue(title.Contains("Anh Tester"));
        }
    }
}

Các bạn thử các trường hợp khác nhé. Thường thì mình sẽ dùng so sánh Bằng, so sánh Chứa và so sánh True/False


À cái Init_Program là này nè =))

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Remote;

namespace SeleniumCSharp.Initialize
{
    
    public class Init_Program
    {
        public IWebDriver driver;
        
        [SetUp]
        public void SetupTest()
        {
            driver = new ChromeDriver("D:\\ANHTESTER\\BrowserDriver");
            driver.Manage().Window.Maximize();
            //Set thời gian chờ ngầm định 20s cho tất cả các Step
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            // Đặt thời gian chờ tải trang mặc định (đơn vị giây)
            driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(20);
        }

        [TearDown]
        public void CloseTest()
        {
            Thread.Sleep(2000);
            driver.Quit();
        }
    }
}

Cộng đồng Automation Testing Việt Nam:

🌱 Zalo Automation Testing:   https://zalo.me/g/lsxswc560
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam (Website, Desktop, Mobile)
🌱 
Facebook Fanpage: Cộng đồng Automation Testing Việt Nam - Selenium
🌱 Zalo
Manual Testing:   https://zalo.me/g/mmwgnt932
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam (QA, QC, Software Tester)

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu


Cộng đồng Automation Testing Việt Nam:

🌱 Zalo Automation Testing:   https://zalo.me/g/lsxswc560
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam (Website, Desktop, Mobile)
🌱 
Facebook Fanpage: Cộng đồng Automation Testing Việt Nam - Selenium
🌱 Zalo
Manual Testing:   https://zalo.me/g/mmwgnt932
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam (QA, QC, Software Tester)

Chia sẻ kiến thức lên trang

Bạn có thể đăng bài để chia sẻ kiến thức, bài viết của chính bạn lên trang Anh Tester Blog

Danh sách bài học