Thứ nhất, nếu bạn mong đợi API bạn kiểm tra để ném một ngoại lệ, thay vì làm một try-catch
với một fail()
...
@Test
public void testMe() {
try {
api.testThis();
fail("should not reach here");
}
catch(MyException e) {}
}
... bạn nên làm như sau: -
@Test(expected=MyException.class)
public void testMe() {
api.testThis();
}
Điều đó nói rằng, tôi hiếm khi sử dụng fail()
. Nếu tôi cần phải thực hiện xác nhận nhất định và điều kiện thất bại, tôi sẽ khẳng định sử dụng khả năng nhất so với sử dụng fail()
... ví dụ: -
... thay vì ...
@Test
public void testMe() {
boolean bool = api.testThis();
if (!bool) {
fail("should be true because bla bla bla");
}
}
... làm như sau: -
@Test
public void testMe() {
boolean bool = api.testThis();
assertTrue("bla bla bla",bool);
}
Tuy nhiên, nếu bạn thực sự cần phải sử dụng fail()
, hãy tiết và giải thích lý do tại sao nó không thành công chứ không phải là "không nên đến đây" hoặc "nên không ở đây" vì điều đó không giúp folks người đọc testcases.
Được cấp, đây chỉ là những ví dụ đơn giản .... nhưng tôi nghĩ tôi đã vượt qua được điểm của mình. :)
tôi thích tên người dùng của bạn quá :) – JAM