Unit testing 需要更好的jUnit测试覆盖率
各位晚上好 假设您的代码具有以下语句:Unit testing 需要更好的jUnit测试覆盖率,unit-testing,junit,Unit Testing,Junit,各位晚上好 假设您的代码具有以下语句: if (string ends with char 'y') { if ((char before last is not 'e') || (char before last is not 'a')) { return (something awesome); } } 这很简单,我想 测试1: input=“xy”(最后一个字符是y,最后一个字符之前的字符不是e或a) 结果-部分覆盖率 我还错过了哪些测试?如果这是和&&而不是| |,我想
if (string ends with char 'y') {
if ((char before last is not 'e') || (char before last is not 'a')) {
return (something awesome);
}
}
这很简单,我想
测试1:
input=“xy”(最后一个字符是y,最后一个字符之前的字符不是e或a)
结果-部分覆盖率
我还错过了哪些测试?如果这是和&&而不是| |,我想测试会容易得多,但是| |让我有点困惑
你能推荐测试2,3,n吗
谢谢你你也可以编写测试来确保你不会返回太棒的东西 测试应该证明你的预期行为。 不同长度的弦呢
(empty, '1', '2 ', '3 ')
您可能希望将其转换为方法或函数,并将其命名为适当的名称。
然后为这个简单的方法编写测试(在TDD中,您将首先编写它们)。您还可以编写测试,以确保不会返回令人敬畏的内容 测试应该证明你的预期行为。 不同长度的弦呢
(empty, '1', '2 ', '3 ')
您可能希望将其转换为方法或函数,并将其命名为适当的名称。
然后为这个简单的方法编写测试(在TDD中,您将首先编写它们)。您希望使用输入“ey”和“ay”测试预期的行为
您可能会发现,您的方法并没有达到您认为的效果。我认为
|
确实让您有点困惑。您想用输入“ey”和“ay”测试预期的行为
您可能会发现,您的方法并没有达到您认为的效果。我认为
|
确实让你有点困惑。有不同类型的报道:
- 行级覆盖
- 符号级覆盖(大多数C#覆盖工具都提供此功能)
- 分支级别的覆盖(许多Java覆盖工具都提供此功能)
- 字符串以字符y结尾,最后一个字符之前的字符是e
- 字符串以char y结尾,char before last是一个
- 字符串以char y结尾,char before last既不是a也不是e
- 字符串不以字符y结尾
使用您编写的代码,您可能会遇到一些意想不到的事情。不管字符串是否以y结尾,你都会得到一些很棒的东西。如果字符串以“ey”结尾,则它不是以“ay”结尾。如果这两个条件中的任何一个是真的,你就会得到一些很棒的东西。编写测试并亲自查看。有不同类型的覆盖范围:
- 行级覆盖
- 符号级覆盖(大多数C#覆盖工具都提供此功能)
- 分支级别的覆盖(许多Java覆盖工具都提供此功能)
- 字符串以字符y结尾,最后一个字符之前的字符是e
- 字符串以char y结尾,char before last是一个
- 字符串以char y结尾,char before last既不是a也不是e
- 字符串不以字符y结尾