Автоматическая генерация случаев Модульного теста для.NET и [закрытого] Java

Чтобы очистить всю базу данных (очевидно, не для производства), вы можете использовать xdmp.forestClear .

Чтобы очистить только временные документы одной конкретной временной коллекции: переберите их (возможно, партиями) и используйте temporal.documentWipe .

Возможно, вам придется сначала «защитить» каждый документ, используя temporal.documentProtect с нулевой секундной продолжительностью.

НТН!

11
задан Mnementh 27 March 2009 в 16:32
поделиться

3 ответа

Для.NET Microsoft имеет Pex, который, надо надеяться, пойдет господствующая тенденция для.NET 4.0, наряду с Контрактами Кода. Я настоятельно рекомендую просмотр ролика Канала 9.

Это ударяет меня, что этот вид вещи очень хорош для очень управляемых данными классов - синтаксические анализаторы и т.д. Я не вижу, что очень часто начинался бы с ним, но полезный инструмент, чтобы иметь в Вашем складе оружия, тем не менее.

15
ответ дан 3 December 2019 в 03:53
поделиться

Для C# (или.NET в целом), PEX мог бы быть тем инструментом. Это работает на уровне IL и пытается пробиться в каждое ответвление. Это успешно раскрыло широкий спектр ошибок (в BCL и т.д.).

5
ответ дан 3 December 2019 в 03:53
поделиться

Хотя это кажется counter-intuituve, можно также интересоваться случайными платформами генерации тестов. Исследование доказало, что может быть столь эффективно при нахождении ошибок, чем систематические подходы на основе покрытия, как Вы предлагаете.

Проверьте Randoop и для.NET и для Java. Это работает путем генерации более или менее случайной последовательности вызовов метода, и проверяет контракты, отказывает и т.д. Это полностью автоматически.

Также можно хотеть проверить некоторые другие случайные инструменты тестирования на основе QuickCheck, например, для Java, Scala, F#. это более подобно Pex, т.е. Вы даете спецификацию или параметризованный модульный тест, и инструмент проверяет его на многие сгенерированные входные параметры.

Я нашел, что этот "параметрический" способ записать модульные тесты является на самом деле намного более естественным по крайней мере в 60% случаев и находит партии большим количеством ошибок.

5
ответ дан 3 December 2019 в 03:53
поделиться