我应该创建单元测试库吗?

本文关键字:单元测试 创建 我应该 | 更新日期: 2023-09-27 18:17:55

如果我创建相同测试的基测试类是否有意义?这种情况下的情况是怎样的?例如,我有几乎相同的视图模型:XReport, YReport等,我创建了一个基本测试:

public abstract  class ReportTestBase
{
    public T UC_ReportUserControl_Create<T>() where  T : class, IViewModel
    {
        return NinjectService.Get<T>();
    }
}

然后我创建衍生:

[TestClass]
public class PsoriasisReport : ReportTestBase
{
    [TestMethod]
    public void UC_PsoriasisReportUserControl_Create()
    {
        Assert.IsNotNull(UC_ReportUserControl_Create<IPsoriasisReportUserControl>());
    }
}

这些代码片段只是示例。我对方法论很感兴趣。

我应该创建单元测试库吗?

如果你有一些共同点在你的[Initialize] ([SetUp]在NUnit)方法,子类化可能是有用的测试类,你需要相同的设置一遍又一遍。

注意在MSTest中调用它们的顺序。

否则,我会按照Pragmateek的建议创建一个hepler类。

你可以这样做,但是正如StuffHappens所注意到的那样,继承可能太多了。

你不能简单地用静态助手方法创建一个"TestsCommon"类来分解所有冗余代码吗?

我已经使用过这种方法,它工作得很好,不会使代码过于晦涩。