Pada contoh kasus ini, kita akan membuat unit testing Bank Account menggunakan Visual Studio 2012. Sample Code dapat di copy pada link berikut : Sample Code untuk Unit Testing - Bank Account
Langkah pembuatan Class :
1. Buka Visual Studio 2012 - New Project - Other Language - C# - ClassLibrary, Name : BankCS
2. Rename Class1.cs menjadi BankAccount.cs
3. Paste sample code pada BankAccount.cs
4. Klik menu Build - Build Solution
Pada kasus ini kita akan menguji method debit
// method under test public void Debit(double amount) { if(amount > m_balance) { throw new ArgumentOutOfRangeException("amount"); } if (amount < 0) { throw new ArgumentOutOfRangeException("amount"); } m_balance += amount; }Dengan menganalisis method yang sedang diuji, setidaknya ada tiga perilaku yang perlu diperiksa:
1. ArgumentOutOfRangeException jika debit lebih besar dari balance
2. ArgumentOutOfRangeException jika debit lebih kecil dari 0
<0 p="">3. Jika 1 dan 2 tidak terpenuhi, balance=balance-debit.
Pada tes pertama kami, kita akan memverifikasi jumlah yang valid (debit
Langkah pengujian :
1. Klik menu File - Add - New Project - Other Language - C# - Test - UnitTestProject, Name : BankTest0>
<0 p="">
2. Rename unitTest1.cs menjadi BankAccountTests.cs
3. Add Reference dengan cara klik kanan pada BankTest di Solution Explorer - Add Reference - Solution - BankCS0>
<0 p="">
4. Pada BankAccountTests.cs tambahkan :
using BankAccountNS;
5. Tambahkan code berikut di dalam test method :
0>
// unit test code [TestMethod] public void Debit_WithValidAmount_UpdatesBalance() { // arrange double beginningBalance = 11.99; double debitAmount = 4.55; double expected = 7.44; BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance); // act account.Debit(debitAmount); // assert double actual = account.Balance; Assert.AreEqual(expected, actual, 0.001, "Account not debited correctly"); }
7. Buka Test Explorer dari Menu Test - Windows - Test Explorer
8. Klik Run All untuk menjalankan semua test method yang sudah dibuat.
9. Hasil dari test method debitWithValidAmount adalah Failed. Karena ada yang salah pada class library, ganti m_balance += amount; menjadi m_balance -= amount;
10. Build kembali Solution, lalu Run All Test, maka hasil Test berubah menjadi Pass
11. Lakukan hal yang sama untuk test method lain
ArgumentOutOfRangeException jika debit lebih besar dari balance
// unit test code
[TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void Debit_WhenDebitBiggerThanBalance() { // arrange double beginningBalance = 11.99; double debitAmount = 15.00; BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance); // act account.Debit(debitAmount); // assert }
ArgumentOutOfRangeException jika debit lebih kecil dari 0// unit test code[TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void Debit_WhenDebitLessThanZero() { // arrange double beginningBalance = 11.99; double debitAmount = -10.00; BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance); // act account.Debit(debitAmount); // assert }

