我正在为一个应用程序进行单元测试,下面是一个单元测试,我无法弄清楚为什么它会失败。

测试结果应该是“等腰”为真,“等边”和“斜角”为假,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?
    }

最佳答案

您打错了IsTrue
第一个参数是要测试的布尔值:

Assert.IsFalse(equalateral, "Test Equalateral");


您也可以拨打AreEqual

Assert.AreEqual(false, equalateral, "Test Equalateral")

09-12 06:22