1

Junit、Mockmvc、およびSpringを使用しているアップロードをテストしようとしています

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:app-context.xml")
@WebAppConfiguration

public class UploadTest {

@Autowired
private WebApplicationContext wac;

private MockMvc mockMvc;

Application app;
String session;

@Before
public void setup() throws Exception {
    Users.init();
    Graphs.init();
    Sessions.init();
    this.mockMvc = MockMvcBuilders.standaloneSetup(new Controller()).build();
    Users.setConfig("dani.pass", "81dc9bdb52d04dc20036dbd8313ed055");
    MvcResult m = mockMvc.perform(get("/logIn?name=dani&encrypted=81dc9bdb52d04dc20036dbd8313ed055"))
            .andExpect(content().contentType(TestUtil.APPLICATION_JSON_UTF8))
            .andExpect(jsonPath("$.status", is(1)))
            .andExpect(jsonPath("$.error", is("")))
            .andReturn();
    String content = m.getResponse().getContentAsString();
    JSONObject jsonObject = new JSONObject(content);
    session=jsonObject.get("data").toString();
}

@Test
public void uploadTest1() throws Exception {
            String filePath = (new File(".")).getCanonicalFile().getCanonicalFile().getCanonicalPath()
            + "/books.ttl";

            FileInputStream fis = new FileInputStream(filePath);
            MockMultipartFile multipartFile = new MockMultipartFile("file", fis);

            HashMap<String, String> contentTypeParams = new HashMap<String, String>();
            contentTypeParams.put("name", "http://exampleTest.com/ng"+Long.toString(System.currentTimeMillis()));
            contentTypeParams.put("session", session);
            MediaType mediaType = new MediaType("multipart", "form-data", contentTypeParams);
            mockMvc.perform(MockMvcRequestBuilders.fileUpload("/upload")
                    .file(multipartFile)
                    .param("name", "http://exampleTest.com/ng"+Long.toString(System.currentTimeMillis()))
                    .param("session", session))
                    .andExpect(content().contentType(TestUtil.APPLICATION_JSON_UTF8))
                    .andExpect(jsonPath("$.status", is(1)))
                    .andReturn();
}
}

私たちを手伝ってくれますか?

エラー スタック トレース:

[org.springframework.test.context.support.DependencyInjectionTestExecutionListener@361cb7a1] テスト インスタンスを準備する [endpoint.security.tests.UploadTest@6f7918f0] org.springframework.beans.factory.BeanCreationException: 名前が 'endpoint.security. tests.UploadTest': 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; です。ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈: [.cp/:na] の {@org.springframework.beans.factory.annotation.Autowired(required=true)} 原因: org.springframework.beans.factory.BeanCreationException: フィールドを自動配線できませんでした: private com .sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈: プライベート com.sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈: プライベート com.sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈:

4

2 に答える 2

0

@Mithunはそれを正しく理解しています。のパッケージのインポートが間違っていますWebApplicationContext

于 2015-04-12T13:48:50.013 に答える
0

WebApplicationContextエラー スタック トレースから、 is import from wrong packageのように見えますcom.sun.jersey.server.impl.application

そのはずorg.springframework.web.context

于 2015-04-12T12:13:38.047 に答える