Benutzer:MovGP0/Unit Testing

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
   MovGP0        Über mich        Hilfen        Artikel        Weblinks        Literatur        Zitate        Notizen        Programmierung        MSCert        Physik      


MS Test[1][2] NUnit[3]
[TestClass]
public class MyTestClass
{
   [TestMethod]
   public void MyTest()
   {
      Arrange();
      Act();
      Assert();
   }
}
[TestFixture]
public class MyTestClass
{
   [Test]
   public void MyTest()
   {
      Arrange();
      Act();
      Assert();
   }
}

Vergleich von Listen

[Bearbeiten | Quelltext bearbeiten]
MS Test NUnit
CollectionAssert.Equals(expectedList, actualList);
CollectionAssert.AreEquivalent(expectedList, actualList);
Moq
[Test]
public void Something()
{
   var myObjectFake = new Mock<MyObject>()
      .Setup(x => x.MyMethod())
      .Returns("Hello")
      .Verify(x => x.MyMethod(), Times.Once());

   var myObject = myObjectFake.Object;
}
AutoMoq
  • reduces code duplication
private AutoMoqer mocker;

[SetUp]
public void Setup()
{
   mocker = new AutoMoqer(); // init a new instance on each test run
}

[Test]
public void Something()
{
   mocker.GetMock<MyObject>()
      .Setup(x => x.MyMethod())
      .Returns("Hello")
      .Verify(x => x.MyMethod(), Times.Once());

   var myObjectFake = mocker.Resolve<MyObject>();
}


Private Member Antipattern

[Bearbeiten | Quelltext bearbeiten]
Correct False
[Binding]
public class HomeControllerSteps
{
   [When(@"I visit the homepage.")]
   public void WhenIVisitTheHomepage()
   {
      var controller = new HomeController();
      var viewResult = controller.Index();
      ScenarioContext.Current.Set(viewResult);
      // ScenarioContext.Current.Set["viewResult"] = viewResult;
      // ScenarioContext.Current.Set(viewResult, "viewResult");
   }
}
[Binding]
public class HomeControllerSteps
{
   private ViewResult _viewResult;

   [When(@"I visit the homepage.")]
   public void WhenIVisitTheHomepage()
   {
      var controller = new HomeController();
      _viewResult = controller.Index();
   }
}
Setting Value
Title AutoTest
Command C:\Programme\AutoTest\AutoTest.Console.exe
Arguments $(SolutionDir)
  1. Anatomy of a Unit Test. In: MSDN. Microsoft, abgerufen am 23. Mai 2014.
  2. Creating Unit Testst. In: MSDN. Microsoft, abgerufen am 23. Mai 2014.
  3. Attributes. In: NUnit Documentation. Abgerufen am 23. Mai 2013 (englisch, Attribute in NUnit).