草庐IT

java - 如何在代码中为 junit 测试禁用 Java 断言

如何在代码中为junit测试禁用java断言(不是junit断言)我已经编写了一个junit测试,但是当我运行它时,它并没有像预期的那样失败,因为断言已启用,而它们并未在生产中。有没有办法只在代码中禁用断言,以便它在IDE中运行时以及作为Maven的一部分构建时按预期工作 最佳答案 在Java中(在单个类中禁用断言)要在Java中启用或禁用断言检查,请使用setClassAssertionStatus在类加载器中。例如:Foo.class.getClassLoader().setClassAssertionStatus(Foo.cl

java - Junit4 + Spring 2.5 : Asserts throw "NoClassDefFoundError"

我一直在使用Spring在Junit4中编写测试代码,我得到了这个有趣的行为:如果我的测试是这样通过的,那么一切都很好:@TestpublicvoidtruthTest(){assertTrue(true);//Ok}但是,如果我的测试失败了:@TestpublicvoidtruthTest(){assertTrue(false);//ERROR}然后我收到了一个丑陋而神秘的堆栈跟踪,而不是测试失败,就是这样:http://pastie.org/429912对于这个丑陋的转储感到抱歉,但这是我必须解释问题的唯一数据(为了便于阅读,我“粘贴”了它)我真的很纳闷,有没有人遇到过这种问题?提

java - 如何在 Spring Roo 中使用 JUnit 测试? (EntityManager 的问题)

我正在尝试为SpringRoo项目编写JUnit测试。如果我的测试需要使用实体类,我会得到以下异常:java.lang.IllegalStateException:Entitymanagerhasnotbeeninjected(istheSpringAspectsJARconfiguredasanAJC/AJDTaspectslibrary?)SpringAspectsJAR看起来配置正确。特别是,我在pom.xml文件中有以下内容:org.springframeworkspring-aspects${spring.version}和trueorg.springframeworkspr

java - JUnit + Derby + Spring : drop in-memory db after every test

在我的单元测试中,我Autowiring了一些使用URL的数据源jdbc:derby:memory:mydb;create=true创建内存数据库。要删除内存中的Derby数据库,您必须连接:jdbc:derby:memory:mydb;drop=true我希望在每次测试后都发生这种情况,并从一个新的数据库开始。我如何使用Spring执行此操作? 最佳答案 HowtoshutdownDerbyin-memorydatabaseProperly给了我一个解决方案的提示:mydb.drop.url=jdbc:derby:memory:m

java.lang.AssertionError : Content type not set while junit Spring MVC Controller? 错误

我正在使用JUnit来测试我的SpringMVCController。下面是我的方法,它返回一个index.jsp页面并在屏幕上显示HelloWorld-@RequestMapping(value="index",method=RequestMethod.GET)publicHashMaphandleRequest(){HashMapmodel=newHashMap();Stringname="HelloWorld";model.put("greeting",name);returnmodel;}下面是我对上述方法的JUnit测试:publicclassControllerTest{p

java - 为什么 junit4 没有 Assert.assertArrayEquals() for double[]s?

在Junit4中似乎有Assert.assertArrayEquals()方法用于除double之外的所有原语,例如Assert.assertArrayEquals(int[]expected,int[]actual)和Assert.assertArrayEquals(char[]expected,char[]actual)但不是Assert.assertArrayEquals(double[]expected,double[]actual,doubleeps)或Assert.assertArrayEquals(double[]expected,double[]actual,doubl

java - JUnit assertEquals 更改字符串

我有一个JUnit测试如下:@TestpublicvoidtestToDatabaseString(){DateConvertorconvertor=newDateConvertor();Datedate=convertor.convert("20/07/1984:00:00:00:00");StringconvertedDate=convertor.toDatabaseString(date);assertEquals("to_date('20/07/1984:00:00:00:00','DD/MM/YYYYHH24:MI:SS')",convertedDate);}测试失败说明:o

java - 在 JUnit 4 的@Before 中获取当前正在执行的 @Test 方法

我想在@Before中获取当前正在执行的测试方法,以便我可以获得应用于当前正在执行的方法的注释。publicclassTestCaseExample{@BeforepublicvoidsetUp(){//getcurrentmethodhere.}@Test@MyAnnotation("id")publicvoidsomeTest{//code}} 最佳答案 尝试TestName规则publicclassTestCaseExample{@RulepublicTestNametestName=newTestName();@Before

java - 如何在 junit 测试中测试 Comparator

我需要测试这个方法-compare()。你能得到建议吗?我能做得多好(所有部分如果,否则-如果,否则)。publicclassAbsFigure{classAreaCompareimplementsComparator{@Overridepublicintcompare(FigureGeneraloneFigure,FigureGeneraltwoFigure){doublefirstValue=oneFigure.area();doublesecondValue=twoFigure.area();intresult=0;if(firstValue>secondValue)result

java - JUnit 崩溃说方法应该是静态的,然后崩溃说它不应该?

我正在尝试在JUnit中做一个简单的示例测试,测试两件事,然后进行拆卸。importorg.junit.*;publicclassTestFoobar{@TestpublicvoidtestOneThing(){//Codethattestsonething}@TestpublicvoidtestAnotherThing(){//Codethattestsanotherthing}@AfterClass@TestpublicvoidtearDownClass()throwsException{//Codeexecutedafterthelasttestmethod}}当我尝试运行它时,