先决条件:我使用的是最新版本的Play!framework,以及Java版本(不是Scala)。我需要在创建用户时向消息队列发布一条消息,我想测试该行为。我的问题是让它易于测试。Controller方法在其他框架中,我会做的是在Controller中使用构造函数注入(inject)并在我的测试中传入模拟队列;然而,随着游戏!Controller是静态的,这意味着我无法在测试中执行newMyController(mockedQueue)。我可以使用GoogleGuice并在我的Controller中的静态字段上放置一个@Inject注释,但这对我来说感觉不太好,因为这要么意味着我必须创建
是否可以在Sonar中检查*Test.java源代码的质量,例如方法最大尺寸100行?问题是,JavaJunit测试随着生产代码的增加而增加,复杂性也在增加。我们有超过1000行和2个方法的单元测试类。我们想在Sonar中检查这些*Test.java类的一些规则。 最佳答案 从Sonar3.1开始,它包含一个插件,该插件具有针对单元测试执行的特定PMD规则(aJIRAwascreatedforthat)。您可以在Configuration>QualityProfiles>CodingRules中看到它们。但是,您似乎想要对测试源代码
我正在尝试改进现有的自动Selenium测试系统。我的目标是重复由于连接问题而失败的测试。我已经找到并尝试关注此线程HowtoRe-runfailedJUnittestsimmediately?这表明它非常有用。在我的例子中,套件由类组成,所以我尝试用@ClassRule替换@Rule,以便在每次尝试时重复@Before和@After部分。很抱歉我的无知,但我应该把这条规则放在哪里呢?在我的套件类?或者在代表测试的类中? 最佳答案 我是HowtoRe-runfailedJUnittestsimmediately?的原回答者如果我理解
我有一个点击按钮的方法,但是,当它运行时,selenium返回点击成功的结果,而实际上,按钮并没有被点击。如果我多次运行测试,偶尔会按预期点击它。我将我的测试框架设置为隐式等待大约15秒,我已经设置了一个显式等待这个元素,但仍然看到同样的问题。当我做.isDisplayed(),元素总能被发现。我将.click放在一个while循环中以单击它几次,这在大多数情况下都有效,但是,有时测试仍然会失败。是否可以使用if语句在单击按钮之前检查元素是否实际显示?我试过:if(!element.isDisplayed){element.click}这是我遇到问题的按钮:NewList这是我的方法:
我有一个类执行一些耗时的计算。我正在尝试对其进行性能测试:intnumValues=1000000;Randomrandom=newRandom();startMeasuringTime();doubleresult;for(inti=0;i我使用的是随机值,因此编译器不会优化计算以达到一百万次相同。但是结果呢?编译器是否看到它不再被使用而忽略了调用(但是,它能看到方法调用可能产生的任何副作用吗?)我不想将结果放在某个地方(放入文件、数组或System.out),因为我认为这会减慢我不想测量的工作的测试速度。或者产生OutOfMemoryError。提前致谢。编辑:稍微更改了标题
我一直在寻找内存中的nio2文件系统实现,这将使我能够更轻松地测试我的IO相关代码。Java本身似乎只提供(在我的JDK中)一个Win32FileSystem和一个ZipFileSystem。好像ShrinkWrap有类似的东西,但似乎主要处理ZIP文件系统或其他任何东西。目前我猜你们中的一些人已经将新的nio文件系统IO合并到自己的项目中,可以帮助我吗?谢谢 最佳答案 https://github.com/google/jimfs提供此功能。我从未亲自测试过。 关于java-Java7
我正在使用SeleniumWebdriver(Java)和PhantomJS来测试一个复杂的JS驱动的网站。我的问题是,PhantomJS浏览器在两个测试之间保持session,这会导致测试设置出错。如果我使用Firefox运行测试,一切正常,因为Firefox为每个测试用例使用干净的session。我第一次尝试解决这个问题是通过JS注入(inject)清除本地存储。Cookie由Selenium公开的APIdriver.manage().deleteAllCookies();删除但是不允许在不访问页面的情况下执行JavaScript。因此以“about:blank”启动浏览器会导致错
我有这个pom.xml文件4.0.0companytrick-services-parent0.0.1-SNAPSHOTtricker-services-webappwartrick-resttrickorg.apache.maven.pluginsmaven-war-plugin../vagrant/deploymentsmaven-surefire-plugin2.17src/main/resourcestruesrc/test/resourcestrue-->testmaven-compiler-plugin2.3.21.61.6maven-surefire-plugin2.12
我有以下遗留代码:publicclassMyLegacyClass{privatestaticfinalStringjndiName="java:comp/env/jdbc/LegacyDataSource"publicstaticSomeLegacyClassdoSomeLegacyStuff(SomeOtherLegacyClasslegacyObj){//dostuffusingjndiName}}此类在J2EE容器中工作。现在我想在容器外测试这个类。什么是最好的策略?基本上允许重构。允许访问LegacyDataSource(测试不必是“纯”单元测试)。编辑:不允许引入额外的运行
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在寻找一个javagui测试工具,可以通过记录我的gui操作(按下按钮、关闭窗口等)来创建测试不需要用于编写测试的脚native制。它可以是免费的也可以是商业的,但便宜又好胜于贵而好。我的应用程序是一个用JavaSE6编写的富客户端应用程序。约夫