Visual studio 我的测试初始化类对我的测试是不可见的

Visual studio 我的测试初始化类对我的测试是不可见的,visual-studio,unit-testing,mstest,Visual Studio,Unit Testing,Mstest,我试图遵循sage Answermen的建议:将我的类实例化移动到TestInitialize方法: [TestInitialize()] public void MyTestInitialize() { MessageClass target = new MessageClass(); } . . . [TestMethod()] public void SetMessa

我试图遵循sage Answermen的建议:将我的类实例化移动到TestInitialize方法:

        [TestInitialize()]
        public void MyTestInitialize()
        {
            MessageClass target = new MessageClass();
        }

. . .

        [TestMethod()]
        public void SetMessageTypeSubcodeTest()
    ...
            target.SetMessageTypeSubcode(AMessageTypeSubcode); // <- here
[TestInitialize()]
公共无效MyTestInitialize()
{
MessageClass目标=新建MessageClass();
}
. . .
[TestMethod()]
public void setMessageTypeSubcode测试()
...

target.SetMessageTypeSubcode(AMessageTypeSubcode);// 您的目标对象是在本地范围中定义的。将其设置为字段而不是局部变量,以便其他类方法可以访问它

class TestClass
{
    MessageClass _target;

    [TestInitialize()]
    public void MyTestInitialize()
    {
        _target = new MessageClass();
    }

    [TestMethod()]
    public void SetMessageTypeSubcodeTest()
    {
        _target.SetMessageTypeSubcode(AMessageTypeSubcode);
    }
}

您的目标对象是在本地范围中定义的。将其设置为字段而不是局部变量,以便其他类方法可以访问它

class TestClass
{
    MessageClass _target;

    [TestInitialize()]
    public void MyTestInitialize()
    {
        _target = new MessageClass();
    }

    [TestMethod()]
    public void SetMessageTypeSubcodeTest()
    {
        _target.SetMessageTypeSubcode(AMessageTypeSubcode);
    }
}

这应该是显而易见的,但在我的辩护中,我认为测试框架可能会在幕后发挥一些魔力,以知道“目标”(毕竟,它将标识符放在那里)指向被测试的类。这应该是显而易见的,但在我的辩护中,我认为测试框架可能会在幕后发挥一些魔力,以知道“目标”(毕竟,它将标识符放在那里)指向被测试的类。