1
我有我本來以爲我可以解決現在的問題...Junit的一套系統,性能測試不工作
我正在寫一些簡單的測試來打一對夫婦服務...
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
public class EndpointTests {
private static Logger log = Logger.getLogger(ApplicationController.class.getName());
@Autowired
private WebApplicationContext context;
private MockMvc mockMvc;
@Mock
private ApplicationController applicationController = new ApplicationController();
static {
System.setProperty("audit.enabled", "false");
}
@BeforeClass
public static void setupProperties() {
System.setProperty("audit.enabled", "false");
}
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void contextLoads() {}
@Test
public void testGetApplications() throws Exception {
mockMvc.perform(get("/applications/")).andExpect(status().isOk())
.andDo(print())
.andExpect(content().contentType(TestUtils.APPLICATION_JSON_UTF8))
.andExpect(jsonPath("$.[0].name",is("XYZ")));
}
長話短說,我在運行測試時需要禁用此屬性。我已經嘗試在靜態初始化器和@BeforeClass中設置屬性,就像我在其他帖子中看到的一樣,但是當它進入實際方法時,它仍然是默認的「啓用」值,測試失敗。我沒有使用XML配置,所以更喜歡代碼/註釋解決方案。
對另一種方式的任何建議,我可以解決這個問題?謝謝。
UPDATE
好像每次我的集成測試運行:
@Test
public void testGetApplications() throws Exception {
mockMvc.perform(get("/applications/")).andExpect(status().isOk())
.andDo(print())
.andExpect(content().contentType(TestUtils.APPLICATION_JSON_UTF8))
.andExpect(jsonPath("$.[0].name",is("paasport-services")));
}
它執行在調用mockMvc.perform我@Configuration類...
@Configuration
public class AppConfiguration
...
...
所以設置我的測試類中的屬性值沒有好處。 有什麼辦法可以在我的測試中設置這個屬性?我不想真的創建一個單獨的測試應用程序上下文,因爲它只是一個屬性,對於我來說,一切都一直很好。 謝謝。