Я должен продолжать регистрировать отказ?

java.time.ZonedDateTime является окончательным системным классом, поэтому он может высмеивать только с помощью обходного пути . И обходной путь требует, чтобы класс, который использует издеваемый системный класс, добавляется к @PrepareForTest. Более подробную информацию вы найдете в документации .

Но событие, если возможно, чтобы издеваться над системными классами, я бы рекомендовал вам реорганизовать ваш код таким образом, чтобы не требовать насмешливых системных классов , Потому что не рекомендуется издеваться над классами , которых у вас нет. . Вы можете создать класс util со значимым методом.

6
задан casperOne 30 October 2012 в 13:12
поделиться

6 ответов

Я сказал бы "ад да!". Очевидный факт, он перестал работать? Да! Затем это должно быть зарегистрировано. Вы в значительной степени ставите под угрозу свое тестирование, позволяя проваленному тесту передать.

Одна вещь, которая коснулась бы меня лично, состоит в том, что, если я сделал это, и пошел под шиной, затем "патч" не может быть удален, означая даже после "bugfix", которым может все еще остаться ошибка.

Оставьте его внутри, обновите свои проектные записки, возможно, даже спустите серьезность (если возможный), но, конечно, не повреждайте вещь, которая проверяет на поврежденные вещи ;)

1
ответ дан 8 December 2019 в 18:44
поделиться

Это должно остаться отказом, если это не делает то, что ожидалось.

Иначе слишком легко проигнорировать. Сохраните вещи простыми - это работает, или это не делает. Сбой или успех :)

- Kevin Fairchild

1
ответ дан 8 December 2019 в 18:44
поделиться

Мы добавили опцию 'дремоты' к нашим модульным тестам. Это позволило тесту аннотироваться атрибутом, который в основном сказал, 'игнорируют отказы в течение X недель с этой даты'. Разработчики могли аннотировать тест, который они знали, не зафиксировать некоторое время с этим, но он не потребовал, чтобы любое вмешательство в будущее вручную повторно включило его, тест просто появится назад в набор тестов в назначенное время.

4
ответ дан 8 December 2019 в 18:44
поделиться

Если Вы прекращаете тестировать его, как Вы собираетесь знать, когда это фиксируется, и что еще более важно, как Вы собираетесь знать, повреждается ли это снова? Я против вынимания теста, потому что Вы, вероятно, забудете добавлять, что это въезжает задним ходом снова.

5
ответ дан 8 December 2019 в 18:44
поделиться

В то время как я соглашаюсь с большей частью того, что сказал Paul, другая сторона аргумента будет то, что регрессионные тесты, строго говоря, как предполагается, тестируют на изменения в поведении программы, не только любую старую ошибку. Они, как конкретно предполагается, говорят Вам, когда Вы повредили что-то, что это раньше работало.

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

1
ответ дан 8 December 2019 в 18:44
поделиться

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

Если это повреждается, необходимо зафиксировать его как можно скорее. Если это не закончено, соглашение с ним, когда у Вас есть время.

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

0
ответ дан 8 December 2019 в 18:44
поделиться
Другие вопросы по тегам:

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