gpt4 book ai didi

tdd - 单元测试断言中的文字或表达式?

转载 作者:行者123 更新时间:2023-12-04 14:44:11 24 4
gpt4 key购买 nike

在单元测试中,您更喜欢断言中的文字值还是表达式?这个小例子演示了我的意思——请注意评论:

[Test]
public function fromXML_works() : void {
var slideshow : Slideshow = SlideshowConverter.fromXML(xmlSample);

// do you prefer literal value "1":
assertEquals(slideshow.id, "1");

// ... or an expression like this:
assertEquals(slideshow.id, xmlSample.@id);
}


private var xmlSample : XML =
<slideshow id="1">
<someOtherTags />
</slideshow>;

表达式的好处在于,当 XML 示例更改时,单元测试不会中断。另一方面,我基本上直接在我不喜欢的单元测试中提供了我的 SlideshowConverter 的一个方面的实现(测试应该测试意图,而不是实现)。我还可以想象使用表达式的测试更容易出现编程错误(例如,我可能在我的测试方法中的 E4X 表达式中犯了错误)。

您更喜欢哪种方法?在现实世界的项目中,什么优势通常更重要?

最佳答案

特别是因为您已经标记了这个 TDD:坚持使用文字。在代码存在之前编写测试以通过它,你对自己说,“ self :如果我有这个函数并给它那些参数,那么 this 就是我得到的。”其中 this 是一个非常具体的值。不要把它藏起来;不要抽象它 - 只需将值放入测试中即可。它还提高了测试的文档值(value)。

关于tdd - 单元测试断言中的文字或表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/989245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com