单元测试与生产代码有不同的要求。例如,单元测试可能不需要像生产代码一样具有高性能。
也许有时候使用更适合编写单元测试的语言来编写单元测试是有意义的?我所想到的一个具体例子是,用C#编写应用程序,但使用IronRuby或IronPython编写测试。
在我看来,使用IronPython和IronRuby编写测试语言比C#代码具有以下几个优点:
- 在动态类型的语言中,模拟可以更简单
- IronPython具有不需要在单元测试中使用的较少冗长的类型注释
- 通过在解释器中键入命令进行实验性调用测试而无需重新编译
在使用两种不同的语言来编写测试和生产代码时,有哪些权衡之处?