gpt4 book ai didi

c# - 私有(private) TestInitialize 方法未初始化对象

转载 作者:IT王子 更新时间:2023-10-29 04:54:26 24 4
gpt4 key购买 nike

我有一个基本上应该像下面这样的测试类:

[TestClass]
public class MyTest
{
private MyClass o1;
private MyClass o2;

[TestInitialize]
private void PrepareObjects()
{
o1 = new MyClass();
o2 = new MyClass();
}

[TestMethod]
public void TestEquality()
{
Assert.IsTrue(o1.Equals(o2));
}
}

但是当我运行测试时,我得到了一个NullReferenceException。如果我在 PrepareObjectsTestEquality 中放置断点,那么我可以看到 TestEquality 时尚未调用 TestInitialize是。

PrepareObjects 从私有(private)更改为公共(public)可以修复此问题。为什么?

最佳答案

测试框架只寻找公共(public)方法。同样,如果您将 TestEquality 设为私有(private),that 将不会运行,如果您将 MyTest 设为内部,则什么都不会 显示将运行。

关于c# - 私有(private) TestInitialize 方法未初始化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13177844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com