0

単体テストを学んでいますが、この単体テスト プログラム フロー (Arrange、Act、Assert など) は正しいのでしょうか?

[TestFixture]
public class unitTest2
{
    private CoffeeMaker coffemaker;
    [Test]
    public void TestMethod1()       // Testa metoden för kaffe med mjölk. Uppgift 2(b)
    {
        coffemaker = new CoffeeMaker();                        //Arrange
        string res = coffemaker.MakeDrink(new Coffee(true, false));   //Act
        StringAssert.Contains("Coffee with milk", res);            //Assert
    }

}
4

3 に答える 3

0

アレンジは、テストのためにすべてをセットアップする場所です。Act は、SUT (System Under Test) で何らかのアクションを実行する場所です。Assert は、そのアクションの結果を検証する場所です。

あなたのテストはこの推論に当てはまりますか? うん。

使用している命名規則も考慮する必要があります。MethodName_Scenario_ExpectedResultテストメソッド名については、次のとおりです。

[TestFixture]
public class CoffeeMakerTests
{
    [Test]
    public void MakeDrink_CoffeeWithMilk_ReturnsCorrectString() // Testa metoden för kaffe med mjölk. Uppgift 2(b)
    {
        // Arrange
        var coffeemaker = new CoffeeMaker();
        var coffeeWithMilk = new Coffee(true, false));

        // Act
        var resultString = coffeemaker.MakeDrink(coffeeWithMilk);

        // Assert
        StringAssert.Contains("Coffee with milk", resultString);
    }
}
于 2015-04-19T13:19:19.277 に答える