c# - 第一个没有断言/预期异常的 TDD 测试。这值得么?

标签 c# java unit-testing tdd

假设我开始使用 TDD 开发游戏。这是一个很好的第一次测试吗?

[TestMethod]
public void Can_Start_And_End_Game()
{
    Tetris tetris = new Tetris();
    tetris.Start();
    tetris.End();
}

它基本上迫使我定义 3 个东西:Tetris 类及其 Start()End() 方法,但除此之外这很没用。它可能会立即引起兴趣,因为我可以定义那个类和那些方法,但以后它可能不会有任何用途。它的唯一目的可能是表明必须有可能开始和结束游戏而不会在中间出现异常。

你对此有何看法?

最佳答案

It basically forces me to define 3 things: the Tetris class and its Start() and End() methods,

是的。

but besides that it's pretty useless.

错误。

later it probably won't serve any kind of purpose

也是假的。

Its ... purpose [is to] show that it must be possible to start a game and end it without getting an exception in the middle

那是巨大的。史诗。不朽的。

事实上,该测试经常会失败,以至于您会讨厌它。来自程序中各种随机位置的每个未处理、未捕获的异常都将无法通过此测试。由于此测试,您将构建仔细的日志记录和调试。

这个测试是 EPIC。

关于c# - 第一个没有断言/预期异常的 TDD 测试。这值得么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3379993/

相关文章:

java - 重音字符的 getBytes() 问题

java - 使用包私有(private)方法以促进单元测试是一种好习惯吗?

unit-testing - 在grails中模拟外部http请求

c# - ASP.NET MVC Html Helper 扩展和呈现它们所需的 "include"s

c# 在 for 循环中创建对象的新实例

c# - 将浮点字节数组转换为十进制

c# - 使用 lambda 和 Moq 对 ServiceLayer 进行单元测试

c# - 在 .NET 4.0 中,过滤器在 WebGrid + 分页 + 排序 + 过滤中丢失

java - 如何将调用 Request.callback onCompleted() 方法时从 Facebook 返回的数据传递到我在 Android 中的 fragment ?

java - 困难的 JAXB 映射