根据这个例子,它和它测试的控制器在同一个包中。
为什么这是必要的?
我认为将所有单元测试放在一个testing
包中会更整洁 - 这样做会有问题吗?
package com.example.web.controllers;
...imports...
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/testApplicationContext.xml"})
public class HomeControllerSysTest extends AbstractJUnit4SpringContextTests {
private static final Logger log = Logger.getLogger(
HomeControllerSysTest.class.getName());
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
@Before
public void setUp() {
helper.setUp();
}
@After
public void tearDown() {
helper.tearDown();
}
@Test
public void testHomeController() throws IOException {
final String url = "http://localhost:8080/movie/test";
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(url);
assertEquals("The Page Title", page.getTitleText());
// there are many different methods to query everything on your
// page. Please refer to the HttpUnit homepage
HtmlElement header = page.getElementsByTagName("h1").get(0);
assertNotNull(header);
String headerValue = header.getNodeValue();
assertEquals(headerValue, "Hello World!");
}
}