在我的单元测试中,我应该测试模型上的属性吗?
如果我有一个名为person
的模型,应该编写一个测试来确保person.name
存在,并且是必需的吗?
答案 0 :(得分:1)
由于您没有指定语言,我将不得不回答。
如果您有动态语言,那么确保动态生成的对象包含所需的所有字段(并且这些字段也适当填充)非常重要。
作为编写单元测试的一般规则,只需编写测试,它会造成什么损害?发现一个错误?让别人知道他们已经破坏了可能导致错误的东西?
答案 1 :(得分:0)
总是很难知道测试何时走得太远 - 也就是说如果你的对象上有一个方法/属性只返回属性中找到的值,那么我们是否应该费心去做如此简单的测试?我们追求完美的努力告诉我们是的,但实际上并不是那么简单,因为你最终会得到许多额外的测试,这些测试不会增加很多价值。
构造函数总是有类似的问题 - 如果构造函数只接受参数并将它们保存为对象中的属性,我们应该测试它吗?
我在这里采用的方法是为每个类添加一个名为test_construction
的测试到该类的单元测试。这将构造一个对象,然后检查查找这些值的所有方法/属性的值。这为构造函数和属性查找提供了测试覆盖率,而单个测试的开销最小。
然而 - 如果您或您的团队决定不测试这些功能,我也不会太担心 - 任何问题都可能被其他测试所吸引,并且必然会有更多重要的测试要求您编写。这些