繁体   English   中英

开发单元测试API

[英]developing a unit testing API

嗨,我被分配了一个使用市场上可用工具探索单元测试的任务。 我的问题是如何编写一个有助于编写单元测试用例的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,这将是我的第一次拍摄。 有关从哪里开始的任何建议?? 谢谢

我认为你最好让开发人员使用nUnit。 它设计精良,灵活多变。 如果您希望让开发人员的工作更轻松,请尝试构建一些帮助程序类,以便在许多不同测试所需的配置中设置测试对象和样本数据。 也许尝试像Creation Method模式 这是一本非常好的书,名为xUnit Test Patterns ,它描述了许多使测试代码更易于编写,读取和维护的方法。 这本书的大部分内容都是在线提供的,而简介是一个很好的起点。

您的示例不是严格的单元测试,因为它会命中文件系统。

在以下情况下,测试不是单元测试:

  1. 它与数据库进行对话
  2. 它通过网络进行通信
  3. 它触及文件系统
  4. 它不能与任何其他单元测试同时运行
  5. 您必须对您的环境执行特殊操作(例如编辑配置文件)才能运行它。

在开始尝试让开发人员开始进行单元测试之前,我建议您学习单元测试最佳实践和模式。 根据经验,有人需要支持自己完全掌握单元测试。 从长远来看,它可以为您节省很多麻烦。

这是一本很棒的书,可以帮助您入门:

http://artofunittesting.com/

你为什么想这么做? NUnit和大多数替代品都非常易于学习和使用。 编写单元测试的挑战不是掌握api,而是编写好的测试和可测试的代码。

要有效地使用NUnit,您只需要知道Test和TestFixture和SetUp属性,并了解Assert类中的可用断言。 真的很简单!

所以我建议你专注于如何编写好的测试以及如何编写易于测试的代码。 这两个主题都具有挑战性,需要学习很多东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM