草庐IT

unit-testing

全部标签

java - 在 Java 中命名重载的单元测试方法

当目标有重载时,命名单元测试方法最被接受的方式是什么。考虑这些方法:doSomething();doSomething(String);您如何命名相应的测试方法?这是最容易接受的方式吗?testDoSomething();testDoSomethingString(); 最佳答案 做任何让你和你的同事更易读的事情,如果有的话。我认为这取决于您对该类的其他测试是什么,但基于这两种方法,我会这样做:测试doSomething()的测试方法:doSomething_void_success(这将是测试成功路径的一些测试)doSomethi

c# - 像java一样的Visual Studio参数化单元测试

在Java测试环境中,我可以使用如下代码中的参数化单元测试:@RunWith(value=Parameterized.class)publicclassJunitTest6{privateintnumber;publicJunitTest6(intnumber){this.number=number;}@ParameterspublicstaticCollectiondata(){Object[][]data=newObject[][]{{1},{2},{3},{4}};returnArrays.asList(data);}@TestpublicvoidpushTest(){Syste

java - 单元测试事件监听器

我需要对事件监听器的功能进行单元测试,但我以前从未做过,而且我似乎在任何地方都找不到相关示例。有人对解决此问题的好方法有任何建议吗? 最佳答案 没什么大不了的,构造事件监听器,传入模拟事件,然后测试。@TestpublicvoidtestEventListener(){ActionListenersubjectUnderTest=newMyActionListener();ActionEventmockEvent=mock(ActionEvent.class);//OrjustcreateanewActionEvent,e.g.ne

java - JUnit 测试失败 Hook 上的 Cucumber

我们使用Cucumber-JVM来编写我们的验收测试脚本,并使用JUnit来执行它们(通过JUnitCucumber运行程序)。由于这些测试涉及SeleniumWebDriver,我希望能够在我的测试失败时截取屏幕截图(我有相应的代码)。如果我简单地添加一个WebDriveronException钩子(Hook),当断言失败时将不会截取屏幕截图。我希望能够向Cucumberrunner添加JUnit执行监听器,但API似乎不支持此功能(Cucumber.class上没有addListener方法)。有人可以帮忙吗?感谢团队。 最佳答案

java - 在非测试代码中使用 Hamcrest 匹配器是否可以接受

我正试图找到在非测试代码中使用Hamcrest匹配器的明确答案。我做了一些研究,并有一些对比引述:HamcrestWikipedia:HamcrestisaframeworkthatassistswritingsoftwaretestsintheJavaprogramminglanguage.[snip]ThesematchershaveusesinunittestingframeworkssuchasJUnit2andjMock.HamcrestGithub:Hamcrestisalibraryofmatchers,whichcanbecombinedintocreateflexib

java - 为什么要避免单元测试中的条件逻辑以及如何避免?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭7年前。Improvethisquestion假设有以下类:publicclassProduct{privateStringname;privatedoubleprice;//Constructors,gettersandsetters}publicclassProducts{privateListproducts;//CRUDmethodspublicdoublegetTotalPrice(){//calculatesthepriceofa

java - 使用 JUnit 测试图像文件

我正在寻找有关如何使用JUnit测试动态生成的图像是否是预期图像的方向。一些背景知识:我有代码生成缩略图作为java.awt.image.BufferedImage并将这些BufferedImage存储到java.io.File对象中。我编写了一个简单的单元测试来检查几个关键项目,以便确信生成的图像是正确的:@TestpublicvoidtestGenerateDefaultThumbnail(){Filefile=//someGeneratedFile.jpgassertNotNull(file);assertEquals(10211l,file.length());}基本上,我只是

java - 使用 Jersey 测试框架模拟资源内部服务

我有一个使用服务的restAPI资源。该服务有一个带参数的构造函数。我想测试这个资源并模拟这个服务。这Question:HowtopassparameterstoRESTresourceusingJersey2.5没有帮助,因为他们使用了@Inject而我不能使用它。有什么建议吗?第二个问题是如何传递参数来测试这个资源:我的代码是:@Path("/2/{subversion:[0-3]}/users")publicclassUserResource{Loggerlog=Logger.getLogger(UserResource.class);privateMyServiceservic

java - 使用 jUnit 测试数据目录

我正在编写一些依赖于数据文件的jUnit测试。这些数据文件应该去哪里?我将如何(在jUnit测试中)获取该目录的位置?在Python中,我会使用类似于:datadir=os.dirname(__file__)+"/data/" 最佳答案 这在某种程度上取决于您使用数据文件的目的,但一般来说,只需创建一个包并确保它在您的类路径中。要从“数据”包加载属性文件,请添加“MyData.props”文件,您可以使用加载属性文件,如:this.getClass().getClassLoader().getResourceAsStream("/d

java - 为什么我们需要在 <persistence-unit> 元素中指定类?

我的persistence.xml有2个持久性单元。他们每个人都有几个元素。我认为我们必须指定与某个持久性单元相关的所有类。但是我不小心忘记了为新实体指定类元素,但即使没有它,程序也能正常工作。然后我删除了所有类元素,一切正常。那么,我们为什么需要它?示例代码:chartdemo.model.domain.Category 最佳答案 如果您没有在persistence.xml文件中指定类,您的持久性管理器将管理persistence.xml文件所在位置(jar文件、类目录)中的所有实体类。列出类使您可以灵活地选择实体并将它们分组到持