我已经编写了一个webservice,现在想为它编写一些单元测试。我偶然发现了Michael Hunger的内存服务器。
由于文档稀少,我很难只设置一个单元测试。我克隆了该项目,将其包含在我的工作区中,并将其作为依赖项添加到我的项目中。
为了测试我的web服务,我编写了以下方法来创建内存中的neo4j服务器:
@BeforeClass
public static void setupInMemoryServer()
{
CommunityBootstrapper s = new CommunityBootstrapper();
int status = -1;
try
{
status = s.start();
}
catch(Exception e)
{
System.out.println("could not start server");
e.printStackTrace();
System.out.println(e.getMessage());
System.out.println(e.getCause());
System.out.println(e.getLocalizedMessage());
}
System.out.println(hostAvailabilityCheck());
System.out.println("status = "+status);
}
public static boolean hostAvailabilityCheck() {
try (Socket s = new Socket("127.0.0.1", 7474)) {
return true;
} catch (IOException ex) {
System.out.println ("Neo server not online");
}
return false;
}
当我运行此代码时,我得到以下输出:
Mai 29,2014 10:13:17 PMsun.reflect.记录器日志SEVERE:无法升级数据库Mai 29,2014 10:13:17 PMmpl.invoke记录器日志SEVERE:java.lang.reflect.ServerStartupException:启动Neo4j服务器失败:启动失败,由于预检任务[类ethod.invokePerformUpgradeIfNecessary]:无法升级数据库在org.junit.runners.model.AbstractNeoS1.run(AbstractNeoSethod.java:47)在org.junit.internal.runners.model.Ballable.run(Ballable.java:12)在org.junit.runners.model.Bethod.invoke(Bootstrapper.java:74)在com.youtube.rest.status.test.CreateUserTest.setupInMemoryServer(CreateUserTest.java:26)在sun.reflect.NativeMEodAccessorImpl.invoke0(Native method)在sun.reflect.NativeMEodAccessorImpl.invoke(UnnovSource)在org.neo4j.server.logging.委托方法方法org.neo4j.server.logging.(未知来源)在org.neo4j.server.Morg.neo4j.server.preflight.(未知来源)在org.neo4j.server.Frameworkmethod$erver.startReflectiveCall(FrameworkMerver.java:218)在org.neo4j.server.ReflectiveCootstrapper.start(ReflectiveCootstrapper.java:87)在org.neo4j.server.FrameworkMootstrapper.start爆炸(FrameworkM在org. eclipse. jdt.内部. Junit. runner运行(JUnit4TestManagement. java: 50)。在org. eclipse. jdt.内部. Junit. runner运行测试执行(TestExpress. java: 38)。由:org. eclipse. jdt.内部. java: 197引起的远程测试运行者。
Mai 29,2014年10:13:17 PM组织。neo4j。服务器登录中。记录器日志严重:无法在端口[7474]上启动Neo服务器
真的
状态=1
Mai 29,2014年10:13:17 PM组织。neo4j。服务器登录中。记录器日志警告:未能完全关闭数据库。Mai 29,2014年10:13:17 PM组织。neo4j。服务器登录中。记录器日志信息:已成功关闭端口[7474]上的Neo服务器,数据库[未知位置]
我不知道为什么会发生这种情况,因为服务器是在内存中构建的,所有内容都是(应该)临时创建的。我既不理解数据库更新冲突是如何发生的,也不理解如何解决它们。
根据堆栈跟踪中的字符串“无法升级数据库”,看起来您的数据库需要升级,但升级无法自动完成。如本页所述,您可能需要执行“显式升级”。
问题内容: 我有一个Java课。如何进行 单元测试? 就我而言,我有课做一个二进制和。它需要两个数组,将它们求和,然后返回一个新的二进制数组。 问题答案: 使用正确的输入定义正常情况下的预期和期望输出。 现在,通过声明一个类来实现测试,将其命名为任何东西(通常是类似TestAddingModule之类的东西),并向其添加testAdd方法(即,类似于下面的方法): 编写一个方法,并在其上方添加@T
问题内容: 我使用CKeditor允许用户在登录后内联编辑页面上的内容。 我知道我可以使用以下方式访问数据: 但是我不知道如何将数据发送到脚本,因此我可以更新数据库。如果每次有人取消选择元素时都运行脚本,那将很酷……但是我不知道那是否有可能。 任何提示都很棒!:) 我的网站是使用php / mysql构建的。 问题答案: 像这样: 请注意,这不适用于其他交互,例如:用户调用或用户在编辑时关闭了网页
试图弄清楚我是否可以使用spring kafka和spring kafka测试为@KafkaListener编写单元测试。 我的听众课。 我的测试类别: 我的测试配置类: 有什么简单的方法可以做到这一点吗? 或者我应该以其他方式测试@KafkaListener?在单元测试中,如何确保在Kafka中收到新消息时调用@KafkaListener。
问题内容: 我在解决如何使用Apache Mina时遇到了一些麻烦。他们的文档对于我那才华横溢的大脑来说有点乏味。我在Java SFTP服务器库中看到了有用的起始代码 吗? 我不知道如何使用它。我想使用Mina作为一种模拟服务器来设置检查我的sftp代码的单元测试,即能够编写如下单元测试: 问题是要放入什么。 我一直在浏览测试代码,想知道是否需要在上面进行更多配置以指定根目录,用户名和身份验证密钥
我必须在Spring Boot中为Web服务编写单元测试,它应该从Controller执行测试,并流入Service类。我正在为Service类使用@Mock注释,为Controller使用@InjectMock,因此应用程序流永远不会进入Service类内部(它返回一个null)。 如果没有对 Service 类@Mock注释,我会收到空点异常。 我不想模仿服务类,我想用这个相同的测试单元测试服
我不会告诉你有关后台任务的单元测试的任何内容,因为Hangfire没有添加任何特定方法 (除了 IJobCancellationToken 接口参数)去改变任务。使用您最喜爱的工具,并照常写入单元测试。本节介绍如何测试创建的后台任务。 所有的代码示例都使用静态 BackgroundJob 类来告诉你如何做这个或那些东西,只是出于简单演示的目的。但是当你想测试调用的静态方法时,会变得很痛苦。 不用担