To be able to perform unit testing in Visual Studio 2008 Professional Edition, you need either visual studio 2008 professional or team system edition.
Step 1 – Right click your solution then click on Add then click on new project.
Step 2 – Type your chosen name of your test project then select the location of your test project will be.
Step 3 - Right Click on your newly created test project then click on add then click on unit test.
Step 4 – Choose the items that you wish to test. Just click on the checkbox beside each items. Then choose your output test project. Click on the newly created test project.
Step 5 – Just click on Yes. It will generate all your unit test on your chosen output test project.
Here is a sample code of unit test:
using MyDAL;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
namespace MyTestProject
{
/// <summary>
///This is a test class for CitiesBLLTest and is intended
///to contain all CitiesBLLTest Unit Tests
///</summary>
[TestClass()]
public class CitiesBLLTest
{
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
#region Additional test attributes
//
//You can use the following additional attributes as you write your tests:
//
//Use ClassInitialize to run code before running the first test in the class
//[ClassInitialize()]
//public static void MyClassInitialize(TestContext testContext)
//{
//}
//
//Use ClassCleanup to run code after all tests in a class have run
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//Use TestInitialize to run code before running each test
//[TestInitialize()]
//public void MyTestInitialize()
//{
//}
//
//Use TestCleanup to run code after each test has run
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/// <summary>
///A test for UpdateCity
///</summary>
[TestMethod()]
public void UpdateCityTest()
{
CitiesBLL target = new CitiesBLL(); // TODO: Initialize to an appropriate value
Cities citys = target.RetrieveCityList().Find(delegate(Cities c) { return c.CityCode == "TKY"; }); // TODO: Initialize to an appropriate value
Countries country = new Countries();
CountriesBLL countryBll = new CountriesBLL();
if (citys == null)
{
citys = new Cities();
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
if (country == null)
{
country = new Countries();
country.CountryCode = "JP";
country.CountryName = "Japan";
country.ContinentID = 0;
countryBll.InsertCountry(country);
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
}
citys.CityCode = "TKY";
citys.CityName = "Tokyo";
citys.CountryID = country.CountryID;
target.InsertCity(citys);
citys = target.RetrieveCityList().Find(delegate(Cities c) { return c.CityCode == "TKY"; });
}
citys.CityCode = "MNL";
citys.CityName = "Manila";
int expected = 1; // TODO: Initialize to an appropriate value
int actual;
if (target.CheckForDuplicateCity(citys, true) == false)
{
actual = target.UpdateCity(citys);
Assert.AreEqual(expected, actual);
Assert.IsTrue(expected == actual);
}
else
Assert.IsTrue(true);
}
/// <summary>
///A test for RetrieveCityList
///</summary>
[TestMethod()]
public void RetrieveCityListTest()
{
CitiesBLL target = new CitiesBLL(); // TODO: Initialize to an appropriate value
List<Cities> expected = target.RetrieveCityList(); // TODO: Initialize to an appropriate value
Cities city = new Cities();
Countries country = new Countries();
CountriesBLL countryBll = new CountriesBLL();
if (expected == null)
{
expected = new List<Cities>();
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
if (country == null)
{
country = new Countries();
country.CountryCode = "JP";
country.CountryName = "Japan";
country.ContinentID = 0;
countryBll.InsertCountry(country);
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
}
city.CityCode = "TKY";
city.CityName = "Tokyo";
city.CountryID = country.CountryID;
target.InsertCity(city);
expected = target.RetrieveCityList();
}
List<Cities> actual;
actual = target.RetrieveCityList();
Assert.IsTrue(expected.Count == actual.Count );
}
/// <summary>
///A test for RetrieveCityById
///</summary>
[TestMethod()]
public void RetrieveCityByIdTest()
{
CitiesBLL target = new CitiesBLL(); // TODO: Initialize to an appropriate value
Cities expected = target.RetrieveCityList().Find(delegate(Cities c) { return c.CityCode == "TKY"; }); // TODO: Initialize to an appropriate value
Countries country = new Countries();
CountriesBLL countryBll = new CountriesBLL();
if (expected == null)
{
expected = new Cities();
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
if (country == null)
{
country = new Countries();
country.CountryCode = "JP";
country.CountryName = "Japan";
country.ContinentID = 0;
countryBll.InsertCountry(country);
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
}
expected.CityCode = "TKY";
expected.CityName = "Tokyo";
expected.CountryID = country.CountryID;
target.InsertCity(expected);
expected = target.RetrieveCityList().Find(delegate(Cities c) { return c.CityCode == "TKY"; });
}
int id = expected.CityID; // TODO: Initialize to an appropriate value
Cities actual;
actual = target.RetrieveCityById(id);
Assert.AreEqual(expected, actual);
Assert.IsTrue(expected == actual);
}
/// <summary>
///A test for InsertCity
///</summary>
[TestMethod()]
public void InsertCityTest()
{
CitiesBLL target = new CitiesBLL(); // TODO: Initialize to an appropriate value
Cities citys = new Cities(); // TODO: Initialize to an appropriate value
Countries country = new Countries();
CountriesBLL countryBll = new CountriesBLL();
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
if (country == null)
{
country = new Countries();
country.CountryCode = "JP";
country.CountryName = "Japan";
country.ContinentID = 0;
countryBll.InsertCountry(country);
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
}
citys.CityCode = "TKY";
citys.CityName = "Tokyo";
citys.CountryID = country.CountryID;
int expected = 1; // TODO: Initialize to an appropriate value
int actual;
if (target.CheckForDuplicateCity(citys, false) == false)
{
actual = target.InsertCity(citys);
Assert.AreEqual(expected, actual);
Assert.IsTrue(expected == actual);
}
else
Assert.IsTrue(true);
}
/// <summary>
///A test for DeleteCity
///</summary>
[TestMethod()]
public void DeleteCityTest()
{
CitiesBLL target = new CitiesBLL(); // TODO: Initialize to an appropriate value
Cities city = new Cities();
Countries country = new Countries();
CountriesBLL countryBll = new CountriesBLL();
city = target.RetrieveCityList().Find(delegate(Cities c) { return c.CityCode == "TKY"; });
if (city == null)
{
city = new Cities();
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
if (country == null)
{
country = new Countries();
country.CountryCode = "JP";
country.CountryName = "Japan";
country.ContinentID = 0;
countryBll.InsertCountry(country);
country = countryBll.RetrieveCountryList().Find(delegate(Countries c) { return c.CountryCode == "JP"; });
}
city.CityCode = "TKY";
city.CityName = "Tokyo";
city.CountryID = country.CountryID;
target.InsertCity(city);
city = target.RetrieveCityList().Find(delegate(Cities c) { return c.CityCode == "TKY"; });
}
int id = city.CityID; // TODO: Initialize to an appropriate value
int expected = 1; // TODO: Initialize to an appropriate value
int actual;
actual = target.DeleteCity(id);
Assert.AreEqual(expected, actual);
Assert.IsTrue(expected == actual);
}
/// <summary>
///A test for CitiesBLL Constructor
///</summary>
[TestMethod()]
public void CitiesBLLConstructorTest()
{
CitiesBLL target = new CitiesBLL();
}
}
}
Here are the other references that I have used:
http://www.dreamincode.net/forums/topic/108976-c%23-unit-testing-basics/
http://www.codeproject.com/KB/cs/autp1.aspx
http://msdn.microsoft.com/en-us/library/ms379625(v=vs.80).aspx
No comments:
Post a Comment