Я как раз собираюсь начать делать TDD JavaScript на новом проекте, я продолжаю работать. Мой текущий план состоит в том, чтобы использовать qunit, чтобы сделать поблочное тестирование. В то время как разработка тестов может быть выполнена путем простого обновления тестовой страницы в браузере.
Для непрерывной интеграции (и обеспечение тестового прогона во всех браузерах), я буду использовать Селен , чтобы автоматически загрузить тестовую обвязку в каждом браузере и считать результат. Эти тесты будут запущены на каждой регистрации к управлению исходным кодом.
я также собираюсь использовать JSCoverage для получения анализа покрытия кода тестов. Это будет также автоматизировано с Селеном.
я в настоящее время посреди установки этого. Я обновлю этот ответ с более точными деталями, как только мне выработали установку.
Инструменты тестирования:
As you've seen, there isn't a zip packaging type, so it makes sense to use pom packaging as you've chosen to.
You've encountered a bit of a hole in the assembly plugin's processing. You could resolve this by specifying multiple fileSets in the assembly with
, one for each directory you want to include, this is obviously a PITA, and probably not an acceptable solution.
An alternative approach is to use the Ant copy task to copy all the DLLs into a staging directory, then include that directory in the assembly.
The following configuration should do what you're after:
The antrun-plugin configuration:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<tasks>
<copy todir="${project.build.directory}/dll-staging">
<fileset dir="${basedir}/${project.artifactId}">
<include name="**/Bin/Release/*.dll"/>
<include name="**/Bin/Release/*.pdb"/>
</fileset>
<flattenmapper/>
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
The assembly:
<assembly>
<id>bin</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.build.directory}/dll-staging</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>*.dll</include>
<include>*.pdb</include>
</includes>
</fileSet>
</fileSets>
</assembly>