Hii ... Есть ли способ узнать, вызван ли вызов метода из тестового класса? Если это из тестового класса ... тогда мне нужно инициализировать некоторые фиктивные значения для переменных в классе. Я хотел бы написать Test Class с минимальным изменением в исходном коде ... Класс следует за одноэлементным шаблоном. Так называется его частный конструктор, который вызывает некоторый код, который блокирует мое тестирование. Так что я должен позвонить фиктивные методы внутри в частном конструкторе так, что он работает гладко ..Как узнать, вызван ли вызов метода из тестового класса
В настоящее время я делаю это ...
StackTraceElement[] stack = new Throwable().getStackTrace();
boolean blnFrmTesting = false;
for (StackTraceElement stackTraceElement : stack) {
if(null != stackTraceElement && null != stackTraceElement.getFileName() && stackTraceElement.getFileName().endsWith("Test.java")) {
blnFrmTesting = true;
break;
}
}
return blnFrmTesting;
Является ли это правильный метод ... Или там любой другой способ .. как проверка аннотации ... («@ Test»)
Привет ... спасибо за вашу помощь ... но я использую mockito в своем тестировании ... дело в том, когда я издеваюсь над этим классом .. статическая переменная инициализируется в самой декалидации, вызывающей вызов частного конструктора и впоследствии попытайтесь вызвать некоторые нежелательные методы, которые я бы хотел пропустить ... – simplysiby
Я думаю, что точка Ридиделя заключается в том, что статическая инициализация очень сложна для проверки кода. Есть некоторые хакерские проблемы, но это приводит к тому, что тестовый тест тестирует нечто иное, чем производственный код, производственный код имеет функциональность, которая существует только для тестирования, или тестовый код, не предоставляющий полную и читаемую спецификацию. Рамки IoC и инъекция зависимости могут позволить гарантировать, что в течение всего срока службы вашего приложения есть только один экземпляр класса без статического глобального доступа или изменчивого статического состояния, что приводит к более тестируемому коду. – NamshubWriter
@NamshubWriter О, что Нил Стивенсон застенчивое имя пользователя! Очень нравится ! – Riduidel