【发布时间】:2013-05-17 09:57:57
【问题描述】:
随着我继续学习和应用 TDD,我遇到了一些我不知道如何在编写代码之前进行测试的点(我应该这样做)。
它适用于我的应用程序之外的任何内容,例如测试:
- 文件已更改(例如重命名)。
- 程序已启动/终止/移动等。
我如何测试这些东西?
编辑:
我想专注于第一个示例,因为我正在开发一个实际需要这些测试的应用程序。如何测试文件的更改?
【问题讨论】:
标签: language-agnostic tdd
随着我继续学习和应用 TDD,我遇到了一些我不知道如何在编写代码之前进行测试的点(我应该这样做)。
它适用于我的应用程序之外的任何内容,例如测试:
我如何测试这些东西?
编辑:
我想专注于第一个示例,因为我正在开发一个实际需要这些测试的应用程序。如何测试文件的更改?
【问题讨论】:
标签: language-agnostic tdd
任何依赖于环境的测试都不是单元测试,而是集成测试。 TDD 不适用于这些。
当然,您可以创建集成测试,而且您当然可以在编写测试代码之前编写这些测试。
【讨论】:
TextWriter 传递给写入的方法。在测试中,您将使用StringWriter,并测试内容是否正确。无需玩文件系统。
考虑编写集成测试。与单元测试测试独立的逻辑片段不同,集成测试的作用是确保所有片段能够正确地相互通信。
您的集成测试将引用属性文件、启动和关闭您的服务,并通常确保您的所有活动部件都没有损坏。
有时,明智的做法是mock 组件。毕竟,您实际上并不是在测试组件,而是在测试它们运行的环境。
【讨论】: