【发布时间】:2021-02-08 17:56:39
【问题描述】:
我有某个public void method其中throws和Exceptionif一个条件满足。
就我而言,该方法如下所示:
public void toBeTestedMethod(Testobject testObject) throws CertainException {
if (testObject.getStatus().getAllowsEdit()){
throw ...}
}
getStatus() 是返回某个状态的方法,getAllowsEdit() 是返回 boolean 值和 nullable = true 的方法。对于这两种方法,还存在 set-methods。
Edit1:有关此方法失败时的测试已经运行良好:
public void testToBeTestedMethod_FailureStatus() throws Exception {
try {
TestObject testObject = _testObjectMockDAO.getNewTestObject();
_testObjectMockDAO.setTestObject(testObject);
_testObjectBusinessImpl.toBeTestedMethod(testObject);
fail("Check failed");
} catch (CertainException ex) {
assertEquals(ErrorCode.WRONG_STATUS, ex.getErrorCode());
}
}
我现在想测试toBeTestedMethod 方法。目标是该方法不抛出异常但成功执行。
这意味着我想编写一个 JUNIT 测试来测试以下内容:
public void testToBeTestedMethod_success throws Exception{
// Enter test code here
}
Edit2(关于class Status):
public class Status {
...
private String _status;
public String getStatus() {
return _status;
}
}
在我看来,我必须修改 if 语句中的条件才能得到预期的结果,对吗?
注意:方法和其他代码不是我写的。尽管如此,我的任务是通过 JUNIT 测试代码。 我尝试了一些代码,但每次我收到抛出异常的错误。
即使你不能解决这个问题,我也很乐意得到一些提示,我应该在哪里寻找问题,为什么我的测试没有做我想让测试做的事情。
【问题讨论】:
-
你能说明什么是 getStatus 以及类定义的样子吗
标签: java testing exception junit throw