Advertisement
Guest User

Untitled

a guest
Feb 1st, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.32 KB | None | 0 0
  1. package controllers;
  2.  
  3. import static org.junit.Assert.*;
  4. import static org.mockito.Mockito.mock;
  5. import static org.mockito.Mockito.times;
  6. import static org.mockito.Mockito.verify;
  7. import static org.mockito.Mockito.when;
  8.  
  9. import java.util.HashSet;
  10.  
  11. import org.junit.Before;
  12. import org.junit.Test;
  13. import org.junit.runner.RunWith;
  14. import org.mockito.InjectMocks;
  15. import org.mockito.Mock;
  16. import org.mockito.MockitoAnnotations;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.test.context.ContextConfiguration;
  19.  
  20.  
  21. import org.springframework.ui.Model;
  22. import org.springframework.web.context.WebApplicationContext;
  23.  
  24. import com.epam.hhsystem.model.candidate.Candidate;
  25. import com.epam.hhsystem.services.CandidateService;
  26. import com.epam.hhsystem.web.controllers.CandidateMenuController;
  27. import org.springframework.test.context.web.WebAppConfiguration;
  28. import org.springframework.test.context.junit4.*;
  29. import org.springframework.test.web.servlet.MockMvc;
  30. import org.springframework.test.web.servlet.ResultActions;
  31. import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
  32. import org.springframework.test.web.servlet.setup.MockMvcBuilders;
  33.  
  34.  
  35. import org.springframework.test.web.servlet.request.*;
  36.  
  37. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
  38. import static org.hamcrest.Matchers.*;
  39. import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
  40. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
  41.  
  42.  
  43. @ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" })
  44. @RunWith(SpringJUnit4ClassRunner.class)
  45. @WebAppConfiguration
  46. public class CandidateControllerTest {
  47.  
  48. @Mock(name = "candidateService")
  49. private CandidateService candidateService;
  50.  
  51. @InjectMocks
  52. private CandidateMenuController candidateMenuController = new CandidateMenuController();
  53.  
  54. @Autowired
  55. WebApplicationContext wac;
  56.  
  57. MockMvc mockMvc;
  58.  
  59. @Before
  60. public void before() {
  61. MockitoAnnotations.initMocks(this);
  62. this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).dispatchOptions(true).build();
  63.  
  64. }
  65. @Test
  66. public void testgoToCandidateMenuMockMvc() throws Exception {
  67. //MockHttpServletRequestBuilder request = MockMvcRequestBuilders.get("/goToCandidateMenu");
  68.  
  69.  
  70. MockHttpServletRequestBuilder request = MockMvcRequestBuilders.get("/goToCandidateMenu");
  71. ResultActions result = mockMvc.perform(request);
  72. result.andExpect(status().isOk());
  73. }
  74. }
  75.  
  76. java.lang.AssertionError: Status expected:<200> but was:<404>
  77. at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:60)
  78. at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:89)
  79. at org.springframework.test.web.servlet.result.StatusResultMatchers$5.match(StatusResultMatchers.java:549)
  80. at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:141)
  81. at controllers.CandidateControllerTest.testgoToCandidateMenuMockMvc(CandidateControllerTest.java:104)
  82. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  83. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  84. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  85. at java.lang.reflect.Method.invoke(Method.java:597)
  86. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
  87. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
  88. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
  89. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
  90. at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
  91. at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
  92. at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)
  93. at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
  94. at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
  95. at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88)
  96. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
  97. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
  98. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
  99. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
  100. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
  101. at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
  102. at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
  103. at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
  104. at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
  105. at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
  106. at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  107. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
  108. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
  109. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
  110. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
  111.  
  112. @Controller
  113. public class CandidateMenuController extends AbstractController {
  114. ...
  115. @RequestMapping("/goToCandidateMenu")
  116. public String goToCandidateMenu() {
  117. return "candidateMenu";
  118. }
  119. ...
  120. }
  121.  
  122. <?xml version="1.0" encoding="UTF-8"?>
  123. <beans xmlns="http://www.springframework.org/schema/beans"
  124. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
  125. xmlns:context="http://www.springframework.org/schema/context"
  126. xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang"
  127. xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
  128. xmlns:util="http://www.springframework.org/schema/util"
  129. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  130. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
  131. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
  132. http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
  133. http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
  134. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
  135. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
  136.  
  137. <!-- Включаем опцию использования конфигурационных аннотаций (@Annotation-based configuration)-->
  138. <context:annotation-config />
  139.  
  140.  
  141. <context:component-scan base-package="com.epam.hhsystem.jpa" />
  142. <context:component-scan base-package="com.epam.hhsystem.services" />
  143.  
  144. <!-- Файл с настройками ресурсов для работы с данными (Data Access Resources) -->
  145. <import resource="data.xml" />
  146.  
  147. </beans>
  148.  
  149. <?xml version="1.0" encoding="UTF-8"?>
  150. <beans xmlns="http://www.springframework.org/schema/beans"
  151. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
  152. xmlns:context="http://www.springframework.org/schema/context"
  153. xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang"
  154. xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
  155. xmlns:util="http://www.springframework.org/schema/util"
  156. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  157. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
  158. http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
  159. http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
  160. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
  161. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
  162.  
  163. <!-- Настраивает управление транзакциями с помощью аннотации @Transactional -->
  164. <tx:annotation-driven transaction-manager="transactionManager" />
  165.  
  166. <!-- Менеджер транзакций -->
  167. <bean id="transactionManager"
  168. class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  169. <property name="sessionFactory" ref="sessionFactory" />
  170. </bean>
  171.  
  172. <!-- Непосредственно бин dataSource -->
  173. <bean id="dataSource"
  174. class="org.springframework.jdbc.datasource.DriverManagerDataSource"
  175. p:driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
  176. p:url="jdbc:sqlserver://10.16.9.52:1433;databaseName=hhsystemTest;"
  177. p:username="userNew"
  178. p:password="Pass12345" />
  179.  
  180. <!-- Настройки фабрики сессий Хибернейта -->
  181. <bean id="sessionFactory"
  182. class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  183. <property name="dataSource" ref="dataSource" />
  184. <property name="configLocation">
  185. <value>classpath:test/hibernate.cfg.xml</value>
  186. </property>
  187.  
  188. <property name="hibernateProperties">
  189. <props>
  190. <prop key="hibernate.show_sql">true</prop>
  191. <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
  192. <prop key="hibernate.connection.charSet">UTF-8</prop>
  193. <!-- <prop key="hibernate.hbm2ddl.auto">create-drop</prop> -->
  194. </props>
  195. </property>
  196. </bean>
  197.  
  198. </beans>
  199.  
  200. <mvc:annotation-driven></mvc:annotation-driven>
  201.  
  202. @Before
  203. public void before() {
  204. MockitoAnnotations.initMocks(this);
  205. MockMvcBuilders.webAppContextSetup(this.wac).dispatchOptions(true).build();
  206. MockMvcBuilders.webAppContextSetup(this.wac).dispatchOptions(true).build();
  207. }
  208.  
  209. @Before
  210. public void before() {
  211. MockitoAnnotations.initMocks(this);
  212. this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).dispatchOptions(true).build();
  213. }
  214.  
  215. @RunWith(SpringJUnit4ClassRunner.class)
  216. @ContextConfiguration(loader = AnnotationConfigWebContextLoader.class)
  217. @WebAppConfiguration
  218. public class ResourceTest {
  219.  
  220. ...
  221.  
  222. @Configuration
  223. @EnableWebMvc
  224. @ComponentScan( basePackages = { "..." } )
  225. static class ContextConfiguration {
  226. }
  227. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement