Есть ли решение TDD для разных языков? - PullRequest
6 голосов
/ 16 сентября 2008

Я хочу написать простую структуру управления цветом на C #, Java и AS3. Однако я хочу написать модульные тесты только один раз, вместо того, чтобы воссоздавать их в JUnit, FlexUnit и сказать NUnit.

Я имею в виду идею, скажем, xml-файла, который определяет манипуляции с «экземпляром» и утверждениями, основанными на состоянии «экземпляра», через установку, демонтаж и набор тестов. Затем иметь утилиту, которая может конвертировать этот XML в код xUnit для произвольного числа xUnits. Прежде чем я начну тратить время на разработку такого решения, я хочу убедиться, что подобного решения уже не существует.

Ответы [ 4 ]

4 голосов
/ 16 сентября 2008

Подходит ли FIT / Fitnesse для того, что вы хотите?

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

FIT имеет ссылки на несколько языков

1 голос
/ 16 сентября 2008

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

1 голос
/ 16 сентября 2008

Я думаю, что вы слишком усложняете вещи ... вы могли бы рассмотреть язык сценариев, который вы можете использовать против всех 3. Я знаю, что Ruby можно использовать для тестирования Java через JRuby и C # через IronRuby, но я не знаю AS3.

Мне никогда не приходилось делать это самостоятельно, но я представляю, что такой динамический язык, как Ruby, действительно может позволить вам сделать это без особой дополнительной работы.

0 голосов
/ 05 мая 2009

Вы также можете проверить Fitnesse с Slim , так как Slim должен быть намного легче для новых языков (AS3). Я предполагаю, что это больше о приемочном / интеграционном тестировании, чем модульном тестировании, но это может стоить изучить.

...