Лучшее решение насмешки состоит в том, чтобы иметь машину, делают всю работу с автоматизированным основанным на спецификации тестированием. Для Java см. ScalaCheck и Доведение платформа, включенная в библиотека Functional Java . С автоматизированными основанными на спецификации средами тестирования Вы предоставляете спецификацию метода под тестом (свойство об этом, которое должно быть верно), и платформа генерирует тесты, а также фиктивные объекты, автоматически.
, Например, следующее свойство тестирует метод Math.sqrt, чтобы видеть, равен ли квадратный корень какого-либо положительного числа n в квадрате n.
val propSqrt = forAll { (n: Int) => (n >= 0) ==> scala.Math.sqrt(n*n) == n }
, Когда Вы звоните propSqrt.check()
, ScalaCheck генерирует сотни целых чисел и проверяет Ваше свойство на каждого, также автоматически удостоверяясь, что пограничные случаи покрыты хорошо.
Даже при том, что ScalaCheck записан в Scala и требует Компилятора Scala, легко протестировать код Java с ним. Платформа Доведения в Функциональном Java является чистой реализацией Java тех же понятий.
Да, он вам нужен. Вы должны исключить его из py2exe.
options = {
'py2exe': {
'dll_excludes': [
'MSVCP90.dll'
]
}
}
setup(windows=["main.py"], options=options)