这是我的任务:给定一个字符串,XYZ是否出现在字符串的中间?为了定义中间,我们将说“xyz”左右的字符数最多相差一个。
使用下面的代码可以查看其他
用例中的问题描述和故障
xyzMiddle(“AAxyzBB”)→ 符合事实的
xyzMiddle(“AxyzBB”)→ 符合事实的
xyzMiddle(“AxyzBBB”)→ 错误的
我的解决方案如下。既然我看不出“其他测试”是什么,请帮我找出问题所在。我的方法是检查“y”是否出现在奇数或偶数字符串的中间。
public boolean xyzMiddle(String str) {
if (str.indexOf("xyz") < 0) return false;
int l = str.length();
int m = l / 2;
if (l % 2 != 0) {
if (str.charAt(m) != 'y') return false;
}
else {
if (str.charAt(m) != 'y' && str.charAt(m - 1) != 'y') return false;
}
return true;
}
if(str.length() <3) return false;
int ind = str.indexOf("xyz", str.length()/2 - 3) ;
String first = str.substring(0, ind);
String second = str.substring(ind+3);
return (first.length() == second.length() || first.length() +1 == second.length() || first.length() == second.length() + 1);
您的解决方案的问题是,如果有问题的字符串具有奇数长度,您只需返回false。
这实际上是不正确的,此任务的pass用例可以按如下数学划分:
1)与
xyz
存在于中间,有一个字符串的长度x 1
和x
的左边或右边。
将字符串
xyz
的长度取为3,总长度为:
(x)3(x 1)
=2x4
---
2)以
再次将字符串长度
xyz
取为3,得出总长度为:
(x)3(x)
=2x3
---
因此,在这种情况下(最后一行代码),根据返回
true
的解决方案,您需要过滤掉当长度为奇数
但xyz
不在中间的情况,如下所示:
if (!(str.substring((m - 1), m + 2).equals("xyz")))
return false;
包括这一点,您的解决方案如下所示:
public boolean xyzMiddle(String str) {
if (str.indexOf("xyz") < 0) return false;
int l = str.length();
int m = l / 2;
if (l % 2 != 0) {
if (!(str.substring((m - 1), m + 2).equals("xyz")))
return false;
}
else {
if (str.charAt(m) != 'y' && str.charAt(m - 1) != 'y') return false;
}
return true;
}
现在它通过了codingBat的所有测试。
我目前在一个项目中使用TestNG启动Selenium测试套件,并处理maven项目中所有结果的日志记录,该项目在Jenkins的工作中每晚运行。 当前,当一个测试失败了一个断言时,TestNG会杀死我们正在运行的所有东西,它不仅会使当前测试失败,还会继续运行套件中的其他测试。我不明白为什么TestNG不只是使当前的测试失败,然后启动剩余的尚未运行的测试。这使得TestNG在这一点上成为一个无用的
问题内容: 我正在使用 Junit 通过 Seleniun WebDriver 运行测试。我试图将测试分成功能区域,以更好地报告错误。我创建了测试以测试页面加载/将文档移动到其他工作流程。如果页面加载测试失败,或者工作流移动失败,我想跳过后续的页面/工作流测试。 如果测试A失败,如何跳过班级中的其余测试或在班级B中运行测试? 注意: 我意识到我要问的是“ UNIT TESTS的 不良实践* 。但是
需要一些非常具体的包装器和例程。
除了个别的测试驱动和行为驱动框架之外,还有一些通用的框架和辅助函数类库,对任何的测试方法都很有用。 工具地址 Selenium 是一个浏览器自动化工具 integrated with PHPUnit Mockery 是一个可以跟 PHPUnit 或者 PHPSpec 整合的 Mock 对象框架 Prophecy 是个有自己的想法,且非常强大灵活的 PHP 对象 mocking 框架。它整合了 PH
我正在使用PowerMock测试中断异常情况下的错误处理。不幸的是,这些测试有时似乎对其他测试类有一些副作用:我在一个测试类中配置的模拟似乎在另一个测试类中仍然存在。为了产生副作用,我将下面的示例简化为基本行。 让我们假设我们有一个类要测试: 以及一个使用PowerMock测试私有方法的测试类: 当我现在创建另一个测试类(在第一个测试类之后执行)时,如下所示: 我立即得到以下异常: 如果我在第一节
我正在尝试创建一个名为<code>AuditScope<code>的自定义范围类,通过<code>AuditScope.current<code>可以访问当前范围。 如果有嵌套的作用域,则当前作用域是嵌套最多的作用域。 我希望这是线程安全的,所以我使用来确保当前范围属于当前异步上下文,并且不会与其他请求发生冲突。如果你们有人遇到过,这类似于类。 下面是我的作用域类: 我的所有测试都单独通过,但是如