对于客户,我们需要为集成测试生成详细的测试报告,这些测试报告不仅显示一切都是绿色的,而且还显示测试的内容.我和我的同事是懒惰的人,我们不想破解电子表格或文本文档.
为此,我想到了一种方法,可以使用每个@Test注释方法和每个测试类的JavaDoc注释来记录更复杂的集成测试.对于测试人员来说,查看哪些需求,Jira票证或测试链接到的任何内容以及测试实际尝试的内容都是一个很好的帮助.我们也想向客户提供这些信息.
现在最大的问题是:我们如何将每个方法和每个测试类的JavaDoc放入JUnit报告中?我们使用JUnit 4.9和Maven.
我知道,每个assertXXX()都有一个描述,但我们真的需要一个漂亮的HTML列表作为结果或PDF文档列出所有类和文档,下面是所有@Test方法及其描述,测试时间,结果如果失败,原因.
还是有另一种方法可以生成花哨的测试脚本吗?(或者我们应该在此开始一个OpenSource项目!?;-))
更新: 我问了另一个关于如何向Eclipse添加RunListener以使其在Eclipse启动时也在Eclipse中报告的问题.使用自定义TestRunner的建议解决方案是另一种获得测试结果报告的可能性.看看:如何在Eclipse中使用JUnit RunListener?
SeleniumIDE项目基于Firefox(及其插件架构).我的应用程序(由于各种原因)仅在Internet Explorer(6+)上运行.事实上,我们主动检查非IE浏览器并立即进行重定向.
这是一个6岁的代码库,我们正试图删除所有需要IE依赖的HTML特性.
我们已经有了一套强大且不断增长的NUNIT代码测试.我们想添加Selenium来进行Web功能测试.是否有一个很好的IDE用于构建/记录使用IE作为浏览器的Selenium测试?
作为单元测试的一部分,我想调用限制在错误信号部分的pylint检查器.所以我检查了pylint可执行脚本,进入了pylint.lint.Run助手类,在那里我迷失了很长时间的__init__功能,以调用结束sys.exit().
有人试过并设法这样做吗?
梦想计划将是这样的:
if __name__ == '__main__':
import pylint.lint
pylint.lint.something(__file__, justerrors=True)
# now continue with unit testing
Run Code Online (Sandbox Code Playgroud)
任何提示?除了"复制__init__方法并跳过sys.exit()",我的意思是?
我并不需要通过运行测试pylint,它也可能是pyflakes或其他软件:随时提出替代方案.谢谢!
我最近开始尝试将一个令人尊敬的大型(> 100万行)程序进行测试.目前没有单元测试.此外,程序链接为每个单独的文件链接在一起 - 没有组件库.此外,对象是高度相互依赖的,并且很难(不可能?)链接到任何目标文件而不链接到它们中的至少一半.
是的,我知道,我的生活很糟糕.
我想做一些重构(显然),但我想在开始移动之前进行一些测试.我目前的想法是编译一个单独的"测试程序",它运行我创建的所有测试.这将大大简化我的链接问题,让我专注于真正的问题.所以我有两个问题:
我想使用Apache JMeter提供的API从Java程序创建和运行测试脚本.我已经了解了ThreadGroup和Samplers的基础知识.我可以使用JMeter API在我的Java类中创建它们.
ThreadGroup threadGroup = new ThreadGroup();
LoopController lc = new LoopController();
lc.setLoops(5);
lc.setContinueForever(true);
threadGroup.setSamplerController(lc);
threadGroup.setNumThreads(5);
threadGroup.setRampUp(1);
HTTPSampler sampler = new HTTPSampler();
sampler.setDomain("localhost");
sampler.setPort(8080);
sampler.setPath("/jpetstore/shop/viewCategory.shtml");
sampler.setMethod("GET");
Arguments arg = new Arguments();
arg.addArgument("categoryId", "FISH");
sampler.setArguments(arg);
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何创建一个组合线程组和采样器的测试脚本,然后从同一个程序执行它.有任何想法吗?
有时检查某些事情是否无法构建是很好的,例如:
// Next line should fail to compile: can't convert const iterator to iterator.
my_new_container_type::iterator it = my_new_container_type::const_iterator();
Run Code Online (Sandbox Code Playgroud)
是否可以将这些类型的东西合并到CMake/CTest中?我正在寻找这样的东西CMakeLists.txt:
add_build_failure_executable(
test_iterator_conversion_build_failure
iterator_conversion_build_failure.cpp)
add_build_failure_test(
test_iterator_conversion_build_failure
test_iterator_conversion_build_failure)
Run Code Online (Sandbox Code Playgroud)
(当然,据我所知,这些特定的CMake指令不存在.)
在这种方法中,最适合放置测试数据文件的地方是什么?我指的是仅由测试/测试中的测试脚本使用的文件,但不是R /中的任何其他函数.
我当前的方法是将它们放在tests/testdata中,然后使用相对路径而不是system.file从那里读取.(为了避免需要安装包来运行测试).
到目前为止,是否有任何最佳实践?
什么是良好的自动化Web UI测试工具?
我希望能够在.Net世界中使用它 - 但它不必用.net编写.
诸如记录模式,集成到构建过程\持续集成等功能将是很好的.
我要看看:
还有其他我应该看看的吗?
如题.
红宝石测试/函/ whatevertest.rb不工作,这需要我所有更换require 'test_helper'到require File.dirname(__FILE__) + '/../test_helper'.由于某些原因,大多数测试模板都存在这样的问题,所以我宁愿看看是否存在可以绕过它的黑客攻击.
我在吞咽中使用Browserify.我也试图将我的测试编译成单个文件.但不像我的主要应用程序,我工作得很好,我很难得到测试编译.主要区别在于测试有多个入口点,没有像该应用程序那样的单个入口点.但我收到Browserify的错误,它无法找到入口点.
browserify = require 'browserify'
gulp = require 'gulp'
source = require 'vinyl-source-stream'
gulp.task 'tests', ->
browserify
entries: ['./app/js/**/*Spec.coffee']
extensions: ['.coffee']
.bundle
debug: true
.pipe source('specs.js')
.pipe gulp.dest('./specs/')
Run Code Online (Sandbox Code Playgroud) automated-tests ×10
unit-testing ×4
c++ ×2
java ×2
testing ×2
api ×1
asp.net ×1
automation ×1
boost ×1
browserify ×1
cmake ×1
coding-style ×1
ctest ×1
gulp ×1
jmeter ×1
junit ×1
pylint ×1
python ×1
r ×1
selenium ×1
testthat ×1
web-testing ×1