Почему утверждение модульных тестов не выполняется в Gradle 5.1, но проходит 1.12, оба используют одну и ту же Java версию 1.8? - PullRequest
1 голос
/ 04 марта 2020

У меня есть многомодульный проект, который использует

  • Java 1,8
  • JUnit 4.12
  • Gradle

При компиляции одного модуля его модульные тесты не проходят при подтверждении нулевого значения в Gradle 5.1, но те же тесты проходят в Gradle 1.12, и модуль успешно компилируется. Ничего не меняется, кроме того, что не рекомендуется в 5.1. Я не могу понять, почему такой же фреймворк не работает в недавней версии Gradle.

Один тест не пройден на JUunit Assert.assertNotNull(), который проверяет наличие строки - ноль или нет.

Второй тест происходит сбой в JUnit Assert.assertTrue().

build.gradle одинаков в обоих случаях, кроме изменений имени конфигурации, и я подтвердил, что все зависимости загружаются и компилируются.

Невозможно поделиться сценарием сборки, но если Вы что-то не понимаете, я попытаюсь сделать псевдокрипт.

Я думал, что ошибки утверждений больше связаны с языковой версией, чем с инструментами?

public class Test {
    private String property;

    @Before
    public void setUp() {
        property = Singleton.getInstance().getProperty();
    }

// test failure 1

    @Test
    public void shouldAbleToGetProperty() {
        assertNotNull(property);
    }

// test failure 2

    @Test
    public void shouldReturnTrueIfPropertyIsTrue() {
        Assert.assertTrue(Singleton.getInstance().isTrue());
    }
}

Singleton класс является обычный синглтон, который читает файлы свойств в папке ресурсов.

НЕ АКТУАЛЬНЫЙ КОД

class Singleton {

    private Map<String, Properties> properties;

    public static Singleton getInstance() {
        // return singleton as its meant to be ...
        // read property file from project and hold it in map.
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...