1. การจะสร้าง Unit Test ใน .Net จะเป็นลักษณะสร้างเป็นโปรเจ็คต่างหากใน solution เดียวกัน โดยเลือก template เป็น Unit Test Project ซึ่งตัวอย่างของ Microsoft ก็จะสร้างเป็น C# แล้วเลือกไปเมนูที่ Test ตอนสร้างโปรเจ็ค (ซึ่งเข้าใจว่าไม่จำเป็นที่จะต้องแยกเป็นคนละโปรเจ็ค เพียงแต่จะต้องใส่ using Microsoft.VisualStudio.TestTools.UnitTesting; เพื่ออ้างอิงถึง library ที่ต้องใช้ในการทดสอบ แต่ที่แยกเป็นคนละโปรเจ็ค เพื่อแยกส่วนที่จะเป็นตัวโปรแกรมจริงๆ ออกจากส่วนทดสอบ)
2. แล้วเลือก Add Reference... เป็นโปรเจ็คที่ต้องการจะทดสอบ
3. สร้าง class ใหม่ สำหรับเป็น unit test ซึ่งจะต้องใส่ attribute [TestClass] และ [TestMethod] ไว้ที่ class และ method ที่ต้องการให้ run เพื่อทดสอบ
4. ส่วนการ run test ให้ใช้ Test Explorer ในการ run จากเมนู TEST > Windows > Test Explorer
ตัวอย่างของ class ที่ใช้ทดสอบ
// unit test code using System; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace BankTests { [TestClass] public class BankAccountTests { [TestMethod] public void TestMethod1() { } } }
นอกจากนั้นยังสามารถใส่ attribute อื่นๆ ได้อีก เช่น [ExpectedException(typeof(ArgumentOutOfRangeException))] ดังนี้
//unit test method [TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void Debit_WhenAmountIsLessThanZero_ShouldThrowArgumentOutOfRange() { // arrange double beginningBalance = 11.99; double debitAmount = -100.00; BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance); // act account.Debit(debitAmount); // assert is handled by ExpectedException }
Reference:
Walkthrough: Creating and Running Unit Tests for Managed Code Using Microsoft.VisualStudio.TestTools.UnitTesting Members in Unit Tests
Using the Assert Classes
Anatomy of a Unit Test
No comments:
Post a Comment