不应该进行单元测试失败

hol*_*ard 2 c# unit-testing

我正在为一个应用程序进行单元测试,下面是一个单元测试,我只是想知道它失败的原因.

测试结果应该是"等腰"是真的,"等边"和"斜角"是假的,Console.WriteLine显示它们实际上是,但由于一些奇怪的原因,测试无论如何都会失败.我在这做错了什么?提前致谢.

我正在使用MSTest框架.

    public void isIsosceles()
    {
        Triangle triangle = new Triangle(2, 2, 5);

        var isosceles = triangle.isIsosceles();
        var equalateral = triangle.isEquilateral();
        var scalene = triangle.isScalene();

        Console.WriteLine(isosceles);       // True
        Console.WriteLine(equalateral);     // False
        Console.WriteLine(scalene);         // False

        Assert.IsTrue(true, "Test Isosceles", isosceles);
        Assert.IsTrue(false, "Test Equalateral", equalateral);    // Fails, why?
        Assert.IsTrue(false, "Test Scalene", scalene);            // Fails, why?
    }
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 6

你的话很误IsTrue.
第一个参数是要测试的布尔值:

Assert.IsFalse(equalateral, "Test Equalateral");    
Run Code Online (Sandbox Code Playgroud)

你也可以打电话AreEqual:

Assert.AreEqual(false, equalateral, "Test Equalateral")
Run Code Online (Sandbox Code Playgroud)

  • 是的,但这可能是OP可能代表的*含义*. (2认同)