import static org.hamcrest.CoreMatchers.containsString;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import java.io.IOException;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import redis.embedded.RedisServer;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/afdspplicationContext*.xml",
"/applicationContext*.xml"})
@WebAppConfiguration
public class ScheduleControllerTest {
private static RedisServer redisServer;
@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
@BeforeClass
public static void setUp() throws IOException {
redisServer = new RedisServer(45678);
redisServer.start();
}
@Before
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
@AfterClass
public static void tearDown() {
redisServer.stop();
}
@Test
public void getRoomStatusByDateAndBuilding() throws Exception {
this.mockMvc.perform(get("/api/v1/recommend/checkin?userName=dd&roomName=f"))
.andExpect(status().isOk())
.andExpect(content().string(containsString("\"code\":422")))
.andExpect(content().string(containsString("test")));
}
}
但是,测试最终出现错误:
OBJC[77723]:类JavaLaunchHelper在/library/java/javaVirtualMachines/jdk1.7.0_80.jdk/contents/home/bin/java(0x10bc614c0)和/library/java/javaVirtualMachines/jdk1.7.0_80.jdk/contents/home/jre/lib/libInstrument.dylib(0x10bcd14e0)中实现。将使用两个中的一个。哪一个是未定义的。
java.lang.IllegalStateException:无法加载CacheAwareContextLoaderDelegate[class org.SpringFramework.Test.Context.cache.DefaultCacheawareContextLoaderDelegate]
进程已完成,退出代码为255
可能是由于Spring MVC 2.5与Spring Test 4.3.9不匹配导致出现此错误。是否存在任何解决办法,让我使用MockMvc同时仍然使用Spring MVC2.5?
Spring2.5发布于11年前(2007年11月19日),并没有正式支持您正在尝试使用的Java7。根据发布的Spring Framework 2.5:
您正在运行一个非常不寻常且容易出错的设置。升级Spring或recreate和backportmockmvc
框架,然后降级到Java6。不要混合2.5和3.2依赖项,这会像您刚才观察到的那样产生大量类路径问题。
我之所以问这个问题,是因为我对Java和Android还不熟悉,我花了好几个小时想弄清楚这个问题。答案来自相关答案的组合,所以我想我会把我学到的东西记录下来,给其他正在挣扎的人。参见答案。 我使用的是Android Studio2.1.2,我的Java设置如下:
我创建了一个NetBeans企业应用程序,它由包装ejb(jar)项目和web(war)项目的ear组成。 我的web项目中有一个servlet,我想在其中使用ejb项目中的一个ejb。
问题内容: 有几个jar文件,这些文件来自COTS产品,我们将其保存在项目根目录下的项目“ extlib”文件夹中。我想将这些包含在常春藤中,但不要放在存储库中,只需从project / extlib文件夹中读取即可。这是可能的还是我需要将它们添加到工件中? 问题答案: 创建具有以下内容的常春藤设置文件: 并声明您的依赖项,如下所示: 特殊的“ NA”组织配置为从“ extlib”目录中提取文件。
我找到了一个符合我目的的图书馆,但它是写在Kotlin上的。我可以在Java项目中使用它吗? 框架:https://github.com/mpetlyuk/initial_tips Kotlin上的用法: