多个测试类在 MSTest 中使用同一组类型固定装置

发布于 2024-11-30 09:45:40 字数 241 浏览 0 评论 0原文

为了将MbUnit中的TypeFixture迁移到MSTest,我们可以为测试方法构建一个抽象类,以及继承该抽象类的其他一些类,其构造函数包含原始TypeFixture定义。

现在的问题是,在原始的 MbUnit 测试中,有多个测试类使用同一组 TypeFixture。做到这一点的方法是有一个包含这些装置的基类,并有实际的测试类来继承它。

我认为这不适用于 MSTest。 MSTest 中是否有任何解决方法可以实现相同的目标?谢谢!

In order to migrate TypeFixtures in MbUnit to MSTest, we can build an abstract class for test methods and some other classes that inherit the abstract class whose constructors contain the original TypeFixture definitions.

Right now the question is that in the original MbUnit test, there are multiple test classes that use the same set of TypeFixture. The way to do it is to have a base class that contains those fixtures, and have actual test classes to inherit it.

I don't think this works for MSTest. Is there any workaround in MSTest that accomplishes the same goal? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

羁〃客ぐ 2024-12-07 09:45:40

不好,但你可以使用反射。您将获得红色/绿色的 pr 类而不是方法,这意味着更难导航到中断测试:

[TestClass]
public class RunMbUnitTests
{
    [TestMethod]
    public void RunAllTests()
    {
        var fixture = new YourMbUnitFixture();
        foreach (var method in GetTestMethods(fixture))
        {
            method.Invoke(fixture);
        }
    }

    private IEnumerable<MethodInfo> GetTestMethods(object mbUnitFixture)
    {
        //reflection code to return all test methods from the MbUnit fixture
    }
}

Not good, but you can use reflection. You will get red / green pr class and not methods, which means it's harder to navigate to the breaking test:

[TestClass]
public class RunMbUnitTests
{
    [TestMethod]
    public void RunAllTests()
    {
        var fixture = new YourMbUnitFixture();
        foreach (var method in GetTestMethods(fixture))
        {
            method.Invoke(fixture);
        }
    }

    private IEnumerable<MethodInfo> GetTestMethods(object mbUnitFixture)
    {
        //reflection code to return all test methods from the MbUnit fixture
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文