2014-10-23 1 views
3

Как это TestCase результат успеха (то есть зеленый в моем окне JUnit):JUnit assertFalse (true) -> успешный тестовый пример?

@Test public void caseForXFiles(){ 
    Assert.assertFalse(true); 
} 

Кроме того, все другие виды случаев успеха, хотя они не должны. Я предполагаю, что мне не нужно явно включать утверждения при использовании этой функции, так как я не использую assert (даже если включен без разницы). Даже выброс неожиданного (даже некорректно компилируемого) исключения не будет окрашивать тестовый экран красным. В моей второй консоли я получаю

Okt 23, 2014 5:18:43 PM org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusedSessionPernamentFileStorage readStore 
Information: Reused session store is not available at C:\Users\xx\.drone-webdriver-session-store, a new one will be created. 
Okt 23, 2014 5:18:54 PM org.jboss.arquillian.protocol.jmx.JMXMethodExecutor invoke 
Schwerwiegend: Failed: de.xx.MyTest.caseForXFiles 

Что, черт возьми, происходит здесь? Я использую JBoss 6.2.4 и Arquillian.

Редактировать: После некоторого дальнейшего расследования я обнаружил, что эта линия, как маловероятная, вызывает проблему. Мой TestCase будет отображаться зеленым цветом JUnit, пока оно не выполняется (пробовал с System.out.print, но не показывался):

@Before public void setUp() throws Exception { 
    rBean.getUserId(); // a simple getter on a String field, no side effects 
} 

кажется, что в @PostConstruct моей rBean не может быть правильно заполнены. Но то, что это приводит к описанному поведению, кажется мне ошибкой.

Дополнительная информация:
rBean:

@Inject @CurrentUser private MyCurrentUser currentUser; 
@PostConstruct private void postConstruct() { 
    userId = currentUser.getUserId(); 
} 

Объект CurrentUser впрыскивается некую структуру компании, к которой я не имею доступа. Тем не менее, у меня есть доступ к классу MyCurrentUser, реализующему IUser (без доступа). В конечном счете, я хочу запустить тестовые теги по моим методам Bean, которые имеют собственные аннотации. Я мог бы обойти это, создав тестовые функции, которые называют эти аннотированные функции, и в этом случае аннотация не будет рассмотрена.
Проблема заключается в том, что из-за того, что currentUser can not login(), что-то в каком-то темном углу идет ужасно неправильно.

+0

Assert.assertFalse (true) обязательно должен потерпеть неудачу. Пожалуйста, проверьте org.junit.Assert.class. – Unknown

+0

Вы не смешиваете junit 3 и 4 стиля? Возможно, @Test не подобрали, поскольку Junit 3 ожидает методы, которые начинаются с testXxxxx. – geert3

+0

Пожалуйста, предоставьте больше окружения от вашего теста. В настоящее время недостаточно информации для диагностики проблемы ... – Vogel612

ответ

0

Как кажется, эта ошибка была связана с Arquillian 1.1.4 и была зафиксирована в 1.1.5.

См. Также here.