嗨,我被分配了使用市场上可用工具探索单元测试的任务。我的问题是如何编写一个有助于编写单元测试用例的API。示例我可以使用Nunit编写类似的内容,以检查给定位置中是否存在文件。

<Test()> _
   Public Sub CheckOutputFileInfo()
    ReportPath = "D:temp\test.txt"
    Dim result As Boolean
    result = File.Exists(ReportPath)
    Assert.IsTrue(result)
End Sub

我知道这不是最好的例子,但是我的问题是我如何合并Nunit并开发API,以便其他开发人员/测试人员可以编写测试用例,而不必费心了解Nunit。仅供参考,我从未写过API,这将是我的第一张照片。关于从哪里开始的任何建议?谢谢

有帮助吗?

解决方案

您的示例并非严格地击中文件系统时。

测试不是单位测试,如果:

  1. 它与数据库交谈
  2. 它通过网络通信
  3. 它触及文件系统
  4. 它不能与其他单位测试同时运行
  5. 您必须为环境(例如编辑配置文件)做特殊的事情才能运行它。

我建议您在开始尝试使开发人员启动单元测试之前学习单元测试最佳实践和模式。从经验中,有人需要自行掌握它的单位测试。从长远来看,它将为您节省很多头痛。

这是一本让您入门的出色书:

http://artofunittesting.com/

其他提示

我认为您最好让开发人员使用Nunit。它已经设计精美且灵活。如果您想让开发人员的生活更轻松,请尝试构建一些在许多不同测试所需的配置中设置测试对象和示例数据的辅助类别。也许尝试类似 创建方法模式. 。那是一本非常好的书 Xunit测试模式 这描述了许多方法使测试代码易于编写,阅读和维护。这本书的大部分都可以在线获得, 简短游览 是一个很好的起点。

你为什么想这么做? Nunit和大多数替代方案真的很容易学习和使用。编写单元测试的挑战不是掌握API,而是要编写良好的测试和可测试代码。

要有效地使用Nunit,您只需要了解测试和测试固定属性,并知道断言类中的可用断言。这真的很简单!

因此,我建议您专注于如何编写良好的测试以及如何编写易于测试的代码。这两个主题都具有挑战性,还有很多要学习的话题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top