草庐IT

BOOST_PARAM_TEST_CASE

全部标签

java - 为什么 JUnit 5 测试不从抽象类继承 @Test 注解?

我刚刚意识到(在将遗留代码从JUnit4迁移到JUnit5时)我们的一些测试方法没有执行,因为它们没有@Test注释。他们没有它,因为它们覆盖了抽象父类(superclass)(存在注释的地方)的方法。我可以通过向每个方法添加@Test轻松解决此问题。但我想知道这是否是预期的行为。它从JUnit4更改为5,但我在officialJUnit5UserGuide中找不到任何相关信息或其他任何地方。根据thisquestion,注解通常不被继承。但似乎这是在新的JUnit版本中有意更改的。(或者我错过了什么?)抽象测试类importorg.junit.jupiter.api.Test;abs

java - 如何外部化 web.xml servlet init-param?用于 Servlet 的 Spring DelegatingFilterProxy?

我有一个无法修改的第3方servlet。它接受一个我想外部化的init-param(来自web.xml)。我可以使用DelegatingFilterProxy外部化一个servlet过滤器init-param.这有效地将servlet过滤器定义移到了Spring中,那里有更强大的外部化工具(例如:PropertyPlaceholderConfigurer、环境变量等)我如何为servlet执行此操作? 最佳答案 看起来您需要一个DelegatingServletProxy类,尽管这在Spring中不存在。但是,我认为使用Delega

java - 测试调用 : how to do set up common to all test suites

有没有办法知道JUnit4测试类是否由测试套件启动?我有全局的东西,我想在所有测试之前运行(关于内存数据库),所以我想在测试服中做它。但是,我仍然希望能够在没有测试服的情况下一次启动一个测试,所以我需要知道我是否需要在测试的@Before部分初始化全局事物......有人知道吗如果它是可能的? 最佳答案 有几种方法可以实现这一点。最简单和最简单的方法是在套件的开始和结束时运行一个“测试”,它会设置您的数据库,然后设置一个全局标志。在您的@Before和@After测试中,您检查此标志,并在必要时进行设置/拆卸。@RunWith(Su

java - case : static binding? 动态绑定(bind)?

我知道重载使用静态绑定(bind)而覆盖使用动态绑定(bind)。但是,如果它们混合在一起呢?根据thistutorial,为了解析方法调用,静态绑定(bind)使用类型信息,而动态绑定(bind)使用实际的对象信息。那么,下面的例子中是否发生静态绑定(bind)来确定调用哪个sort()方法?publicclassTestStaticAndDynamicBinding{@SuppressWarnings("rawtypes")publicstaticvoidmain(String[]args){Parentp=newChild();Collectionc=newHashSet();p

java - 设置 f :param value with JavaScript

是否可以这样做:jsf代码(伪):......我的意思是方法,当用JS设置。这是不好的做法吗?感谢您的帮助。 最佳答案 您需要使用a4j的commandButton和actionParam能够将动态参数传递回服务器。此外,您的bean需要一个属性来接收参数值。例子:在这里myBean.myBeanArg将接收javascript函数返回的值getTheValue().注意noEscape="true"属性。这是必需的,否则value中的数据将用单引号括起来并进行转义,从而不会执行javascript。如documentation中所

java - switch case语句中的java范围声明如何?

这个问题在这里已经有了答案:DeclaringandinitializingvariableswithinJavaswitches(6个答案)关闭6年前。下面的java代码在Java1.7中执行没有错误publicstaticvoidmain(String[]args){intx=5;switch(x){case4:inty=3423432;break;case5:{y=33;}}}Java如何确定y是一个int,因为声明永远不会运行。当case语句中未使用大括号时,case语句中的变量声明是否会限定在switch语句级别?

java - 无法在 Spring Boot Test 1.5 中设置运行时本地服务器端口

我正在为我的应用程序使用SpringBoot1.5。在集成测试中,我想获取Web服务器的运行时端口号(注意:TestRestTemplate在我的情况下没有用。)。我尝试了几种方法,但似乎都不起作用。以下是我的方法。第一种方法@SpringBootTest(classes=TestConfig.class,webEnvironment=WebEnvironment.DEFINED_PORT)publicclassRestServiceTest{@LocalServerPortprotectedintport;在我的src/main/resources/config/applicatio

java - HQL 或 Criteria 中的 CASE 语句

源自thisquestion,是否可以对以下SQL语句使用HQL或Criteria:SELECTe.type,count(e),count(d),count(casewhengender='male'then1elseNULLend)ASNumberOfMaleEmployeesfromDepartmentdJOINd.employeeseWHEREe.dead='maybe'GROUPBYe.type虽然google提出了一些HQL支持CASE语句的结果,但Hibernate3.6.6失败了QuerySyntaxException:unexpectedtoken:CASE当我在Ent

java - java switch case 语句是否为负 int 值执行多个 case?

我刚刚在我的java代码中遇到了一些奇怪的事情:switch(result){case0:result_amount=500;case1:result_amount=600;case-1:result_amount=700;}result来自原始类型int。对于值1,执行case1和case-1。这是正常的switchcase行为吗?如果是:为什么? 最佳答案 您需要在caseblock之后使用break关键字:switch(result){case0:result_amount=all_amounts[i];break;case1

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