Причина неожиданного поведения с помощью JUnit 4's механизм ожидаемого исключения?

Похоже, вы не определили ограничения кнопки для супервизора. Например: левый край, верхний край ...

* изменить: опубликовать жалобу ниже #raisedeybrow Вам нужно будет определить (добавить ограничения), как далеко от края (слева и сверху, справа и снизу) вы хотите, чтобы ваши кнопки / кнопки были. Затем примените к кнопкам приоритеты обтекания и сжатия содержимого, чтобы все они масштабировались так, как вам хочется. Некоторые из них должны быть больше, другие, которые вы не хотите, чтобы они сжимались и т. Д. Можно установить, если хотите, чтобы они выглядели плавными

9
задан Community 23 May 2017 в 12:26
поделиться

4 ответа

Я нашел проблему.

TestRunner, который я использовал, был корректным одним (JUnit 4), однако, я объявил свой тестовый класс как:

public class CommandTest extends TestCase

То, которое я принимаю, заставляет исполнитель тестов рассматривать его как тест JUnit 3. Я удалил extends TestCase и полученный ожидаемые результаты.

10
ответ дан 4 December 2019 в 14:32
поделиться

Ваш тестовый код смотрит хорошо мне.

Проверьте, что Вы работаете с junit 4 testrunner, не junit 3.8 testrunner - это могло очень хорошо быть преступником здесь (попытайтесь запуститься из командной строки или просто визуально осмотрите командную строку при запущении теста). Путь к классу Вашего testrunner не может совпасть с Вашим путем к классу проекта

Это - особенно случай в IDE. Поочередно Вы могли также попытаться продвинуть к junit 4.4 и видеть, решает ли это Вашу проблему. (junit 4.5 может вызвать другие проблемы).

3
ответ дан 4 December 2019 в 14:32
поделиться

У меня была подобная проблема, и я зафиксировал ее путем добавления аннотации

@RunWith(JUnit4ClassRunner.class)

Который говорит тестеру единицы выполнять его с 4er версия Junit

1
ответ дан 4 December 2019 в 14:32
поделиться

Любопытный.

Я записал три класса:

UndoCommand:

public class UndoCommand
{
    public void undo()
    {
        throw new CannotUndoException();
    }
}

CannotUndoException:

// Note: extends the unchecked superclass RuntimeException
public class CannotUndoException extends RuntimeException
{
    public CannotUndoException()
    {
        super();
    }

    public CannotUndoException(String message)
    {
        super(message);
    }

    public CannotUndoException(String message, Throwable cause)
    {
        super(message, cause);
    }

    public CannotUndoException(Throwable cause)
    {
        super(cause);    
    }
}

И JUnit 4.4 тестирует класс:

import org.junit.Test;

public class UndoCommandTest
{
    @Test(expected=CannotUndoException.class)
    public void testUndo()
    {
        UndoCommand command = new UndoCommand();

        command.undo();
    }
}

Работы отлично - вся тестовая передача, "зеленый" результат.

Если я удаляю (ожидаемый =...) из аннотации тестовые сбои, как ожидалось.

Я использую Sun JDK 6, JUnit 4.4 и IntelliJ 7.0.5.

Как делает ваши отличаются?

0
ответ дан 4 December 2019 в 14:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: