MS单元测试类中的继承 [英] Inheritance in MS unit test class

查看:152
本文介绍了MS单元测试类中的继承的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,先生/女士,

我正在使用本机C ++语言的MS测试项目,并且希望继承带有一些基类的新创建的MS测试类.

I am using Native C++ language MS Test project and I want to inherit the newly created MS test class with some base class.

我该如何实现?

可以说,我有一个下课

Class Base

Class Base

{

.....

}

TEST_CLASS(UnitTest1):公共基础

TEST_CLASS(UnitTest1) : public Base

{

....

}

我想继承我的MS单元测试类中的Base类.

I want to inherit the Base class in my MS unit test class.

有没有办法做到这一点?有其他选择吗?

Is there is way to achieve this? Is there any alternatives?

谢谢!

Puneet

推荐答案

Puneet,

Hi Puneet,

感谢您的信息.

据我所知.单元测试不支持继承.

为了使您的测试从基类测试中继承,也许您可​​以这样尝试

In order to make your tests inherit from a base class test, may be you can try like this,

public class MyBaseClass
{
    public virtual void DoStuff() { }
    public virtual void DoOtherStuff() { }
}

public class MySubClass : MyBaseClass
{
    public override void DoOtherStuff()
    {
        // different to to base
    }
}

public abstract class TestOfBaseClass
{
    protected abstract MyBaseClass classUnderTest { get; }

    [TestMethod]
    public void TestDoStuff()
    {
        classUnderTest.DoStuff();
        Assert.StuffWasDone();
    }
}

[TestClass]
public class WhenSubclassDoesStuff : TestOfBaseClass
{
    protected override MyBaseClass classUnderTest
    {
        get { return new MySubClass(); }
    }

    [TestMethod]
    public void ShoudDoOtherStuff()
    {
        classUnderTest.DoOtherStuff();
        Assert.OtherStuffDone();
    }
}

最好的问候,

肖湖


这篇关于MS单元测试类中的继承的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆