地产平面网站,云虚拟主机建设网站一定要域名,成都网站制作收费,沭阳哪里有做网站推广的单元测试 问题描述您的单元测试应尽可能具有描述性。 他们给您的反馈应该非常清楚#xff0c;您甚至不必启动调试器#xff0c;并一步一步地检查代码以检查局部变量。 为什么#xff1f; 因为那需要时间#xff0c;而且我们很懒#xff0c;对吗#xff1f; 为此#xff… 单元测试 问题描述 您的单元测试应尽可能具有描述性。 他们给您的反馈应该非常清楚您甚至不必启动调试器并一步一步地检查代码以检查局部变量。 为什么 因为那需要时间而且我们很懒对吗 为此您需要创建描述性测试。 有不同的方法可以实现这一点。 这是其中两个。 添加断言消息 断言消息通常可以在测试断言中指定为附加参数并且在特定测试用例失败时它们会作为失败消息出现。 例如在jUnit中您可以指定断言消息例如 assertEquals(The firstname of the two people should match if the clone was successful, Fritz, person1.getFirstname()); 另一方面在MSTest中必须将断言消息作为最后一个参数添加。 Assert.AreEqual(Fritz, person1.Firstname, The firstname of the two people should match if the clone was successful); 注意 不要“过度设计”。 我将这些注释与其他代码注释类似地对待如果它们添加了有意义的信息则只需添加它们即可。 否则它们就是浪费因此就这样对待它们。 首选显式断言 我所说的显式断言的意思是对您要执行的操作使用正确的断言。 例如如果您需要像前面提到的断言中那样执行相等性检查请不要使用布尔断言声明。 这里是一个虚拟的QUnit测试用例的示例 test(Should correctly clone two people, 1, function(){//...ok(person1.firstname Fritz, I expect both names to match if the clone operation succeeded);
}); …以及在输出窗口中的相应结果 这个结果并不是真正的描述性… 结果没有告诉我们太多对吧 您可以说的是此人的名字与您期望的名字不匹配因此克隆操作可能不会成功。 但为什么 那它的实际价值是多少 使用equals代替 test(Should correctly clone two people, 1, function(){//...equal(person1.firstname, Fritz, I expect both names to match if the clone operation succeeded);
}); ……结果又是 哦看那里有描述性的结果。 现在此测试用例的结果更具描述性。 它不仅告诉您操作失败而且还准确地向您显示了预期值和实际值。 这可能会立即提示您可能存在问题的地方。 参考 单元测试提示在Juri Strumpflohner的TechBlog博客上由我们的JCG合作伙伴 Juri Strumpflohner 创建描述性测试 。 翻译自: https://www.javacodegeeks.com/2013/06/unit-testing-tip-create-descriptive-tests.html单元测试 问题描述