建立和拆除单元测试上下文的概念的恰当名称是什么

本文关键字:是什么 单元测试 上下文 建立 | 更新日期: 2023-09-27 18:00:47

基本上,我使用过的所有单元测试框架,无论是C++还是C#(或者其他任何东西,我想),都有setupteardown的概念,为许多测试用例建立可重用的上下文。

现在我正在做一些相关的工作(EDIT:这项工作与测试无关,但设置/拆卸概念是相同的),我想抽象这个概念,以便通过使用带有setup()和teardown()的接口,将设置/拆卸对与某种任务相关联。

然而,我很难命名这个接口。现在是(伪代码)

interface IConfigurator
{
    void Setup();
    void Teardown();
}

但我不喜欢这个名字。对于这个设置/拆卸概念,什么名称会更好、更具描述性?

建立和拆除单元测试上下文的概念的恰当名称是什么

这样的东西怎么样:

interface ILifetime
{
    void Start();
    void End();
}

IControlledContext怎么样?(有些人会认为I是多余的)。

  1. 注意,并不是所有的测试框架都有设置/拆卸的概念(例如xUnit)。为什么不能只使用构造函数和IDisposable

  2. 你为什么要抽象这个概念?它的作用是什么?

  3. 如果你真的想抽象这个概念,我认为它应该是

    IBeforeAnyTests { void Setup(); }

    IAfterAllTests { void Teardown(); }

因为这两个概念是分开的责任!

我最终使用了上下文而不是配置器。它更好地描述了这个概念。