@SpringBootTest
public class RuleControllerTest {
@Value("${myUrl}")
private String myUrl;
private HttpClient httpClient = HttpClients.createDefault();
@Test
public void loadAllRules() throws IOException, URISyntaxException {
String target = myUrl + "/v2/rules";
String json = generateHTTPget(target);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Rule[] rules = objectMapper.readValue(json, Rule[].class);
boolean correctResponse = rules != null ? true : false;
int httpCode = getHTTPcode(target);
boolean correctStatus = httpCode >= 200 && httpCode <= 300 ? true : false;
assertTrue(correctStatus);
assertTrue(correctResponse);
}
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
并添加注释
@RunWith(SpringRunner.class)
我得到一条消息:没有测试找到test runner JUnit5,并且在Problems选项卡中有SpringBootTest.jar无法读取或者不是有效的ZIP文件
也试过
@PropertySource("classpath:application.properties")
我也试过:
@RunWith(SpringJUnit4ClassRunner.class)
如果我将字符串myUrl硬编码为“http://localhost:8090”,则测试工作正常,因此问题在于@value不工作
跟踪对我有用。它从application.properties文件中获取值。
@RunWith(SpringRunner.class)
@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)
public class ValueAnnotationTest {
@Value("${myUrl}")
private String myUrl;
@Test
public void test1() throws Exception {
assertThat(myUrl).isEqualTo("http://test.com");
}
}
来自Spring Boot文档:
单独使用ConfigFileApplicationContextInitializer
不能提供对@value(“${…}”)
注入的支持。它的唯一工作是确保application.properties
文件被加载到Spring的环境中。对于@value
支持,您需要另外配置一个PropertySourcesPlaceHolderConfigureer
或使用@SpringBootTest
,它会自动为您配置一个。
问题内容: 我有以下测试: 但是JUnit报告说,测试失败了,尽管它按预期方式抛出。 我是否需要配置其他东西才能运行此程序? 我现在用 当我删除前缀时,仍然出现错误。 我得说我是在Eclipse上运行这些测试,但它配置为使用JUnit 4 Runner。 问题答案: 问题是,嵌套测试的类是的扩展。由于这是JUnit 3样式,因此注释不起作用。 现在,我的测试班是一个单独的班。
我有3个测试类如下: 包裹通讯。朱尼特。测试用例; Test3类: Test2类: Test1类: 和一个TestSuite类: 问题是它在从eclipse从JUnit运行TestSuite1类时忽略了Test3类中的@规则标签,因此输出不如预期。为什么它忽略了@规则标签。有没有其他选择来执行所有三种情况?
我尝试使用SmtpAuthenticator创建邮件服务。组件已正确启动,但用户名和密码字段中存在空值。为什么会这样?
我想在测试中注入DeMorgenArticleScraper。 DeMorgenArticleScraper组件本身进行了一些配置,但IDE/编译器并没有抱怨它们。 用@Qualifier注释的构造函数参数在Config.class中使用@Bean定义。类本身有@Configuration。我想问题不在这里。 IDE已经警告我,找不到bean。。。必须在bean中定义自动连线成员。但据我所知,它是
我有一个简单的类叫BeaconDao 然而,当我用@service或@component标记beaconDao时,一切都运行得非常好。有人能看出问题所在吗?