Visual Studio单元测试拒绝运行

语用两次

我开始使用Visual Studio和内置的单元测试器来测试学校项目。该项目是用C#编写的类库。到目前为止,我的所有测试均有效。但是,我仍然有1个测试将无法运行。它没有通过或失败,它只是无法运行。没有给出错误消息,我无法使其运行或调试或执行任何操作。这是我正在尝试的测试:

[TestMethod()]
    public void PublicDecimalEqualityTest2()
    {
        Formula form1 = new Formula("2.3232000+3.00");
        Formula form2 = new Formula("2.3232+3.0000");
        Assert.IsTrue(form1==form2);
    }

我的课程的“ ==”运算符已正确定义。奇怪的是,此测试运行并通过:

[TestMethod()]
    public void PublicDecimalEqualityTest()
    {
        Formula form1 = new Formula("2.3232000+3.00");
        Formula form2 = new Formula("2.3232+3.0000");
        Assert.IsTrue(form1.Equals(form2));
    }

知道为什么第一次发布的测试无法运行吗?

编辑:这是==操作员的代码

public static bool operator ==(Formula f1, Formula f2) {
    if (f1==null && f2==null)
    { return true; }
    if (f1==null || f2==null)
    {return false;}
    if (f1.GetFormulaBasic()==f2.GetFormulaBasic())
    { return true; }
    else
    { return false;}
}

GetFormulaBasic()只需从该类返回一个私有字符串。希望这可以帮助。

迈克·兹伯雷

我的猜测是正确的。==当您检查null时,您正在实现中调用运算符替换==Object.ReferenceEquals以测试运算符内部是否为null。在这里,简化了一下:

public static bool operator ==(Formula f1, Formula f2)
{
    if (object.ReferenceEquals(f1, f2))
    { 
        return true; 
    }
    if (object.ReferenceEquals(f1, null) || object.ReferenceEquals(f2, null))
    {
        return false;
    }

    return f1.GetFormulaBasic() == f2.GetFormulaBasic();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Visual Studio单元测试:从Excel运行

Visual Studio 15.8.1未运行MS单元测试

通过TFS在Visual Studio中运行Jasmine单元测试

Visual Studio 2015 未运行 C++ 单元测试

从Visual Studio Code运行所有Flutter单元测试

无法在Visual Studio 2017 Professional中运行单元测试

无法在Visual Studio 2015中运行任何单元测试

Visual Studio 2017单元测试未运行

在Visual Studio的子类中继承和运行单元测试

Visual Studio单元测试-“ XUnit格式?”

Visual Studio单元测试检测失败

Visual Studio for Mac调试单元测试

在Visual Studio中运行单元测试时出错:缺少测试用例对象

Visual Studio 2019 - 无法运行 Python 单元测试 - 无法导入测试模块:

如何为目录中的每个文件运行 Visual Studio 单元测试?

Visual Studio C#单元测试-报告每次运行的结果

为什么Visual Studio 2019将无法运行我的单元测试?

如何在Visual Studio 2017/2019中为特定目标框架运行单元测试?

在Visual Studio中“全部运行”但单独传递时,单元测试失败

UWP应用的单元测试无法在Visual Studio 2015上运行

如何在Visual Studio 2019中使用.NET 4.6.2版运行单元测试?

在Visual Studio / Resharper中以调试模式运行单元测试时出现“不确定:测试未运行”错误

找不到要运行的测试-在调试/运行单元测试用例时-Visual Studio 2017 15.5.1

Visual Studio实时单元测试和旧测试

C#单元测试Visual Studio 2013测试失败

如何以编程方式退出正在运行的单元测试(使用 Visual Studio c# 和单元测试框架)

Azure DevOps Server:为什么Visual Studio测试步骤需要这么长时间才能运行单元测试?

Microsoft伪造品和TFS 2012 Visual Studio测试运行器-单元测试偶尔会失败

将单元测试数据附加到Visual Studio中的单元测试