【问题标题】:NUnit, TestDriven.Net: Duplicate test results with partial test classesNUnit,TestDriven.Net:使用部分测试类重复测试结果
【发布时间】:2011-01-06 19:47:32
【问题描述】:

我刚刚发现我运行的测试数量是我应该得到的两倍。当测试失败时发现了它,我得到了两次相同的测试失败。同样的测试,同样的一切。让我很困惑,但设法将其缩小到某个测试类,它是部分类。

它是一个部分类的原因是我将一个测试类一分为二,只是为了让它更干净一点。被测试的类有一个需要大量测试的方法,我认为将它们放在一个单独的文件中会更干净。但由于使用了一两个辅助方法,我想我可以将类设为部分,这样两个文件仍然可以访问这些方法。

测试框架是 NUnit,测试是使用 TestDriven.Net 运行的。从单个测试方法(报告通过两个测试而不是一个)、类(通过的测试数量是两倍)和整个测试项目中运行测试。

通过使类不是局部的并且只是复制那些微小的辅助方法(可能会将它们移动到单独的辅助类或稍后的东西)来解决问题。

现在...为什么会发生这种情况?我以为部分类被编译成一个类?这是一般的部分类、NUnit、Test-Driven.net 还是完全不同的问题?

【问题讨论】:

    标签: unit-testing nunit partial-classes testdriven.net


    【解决方案1】:

    您可能将[TestFixture] 属性放在分部类的两个文件中。这将导致TestFixture 在 IL 类定义中发出两次,NUnit 将运行相同的测试代码两次。您应该只在部分类的文件之一中添加[TestFixture]

    【讨论】:

    • 哦哦。这可能与它有关是的。但是为什么TestFixture 属性可以两次添加到一个类中呢?这根本没有意义......或者这是可能的原因吗?
    • 现在要对其进行测试,并从部分类之一中删除 TestFixture 属性解决了该问题 :)
    猜你喜欢
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多