如何为这些类型的方法编写单元测试?
How to write unit test for these type of methods?
我是单元测试的新手。如何为这些类型的方法编写单元测试?
private boolean fn(Vertex vertex) {
return vertex.id().toString().split(":").length > 1;
}
这里的 Vertex 是 gremlin query 的元素。
我试图创建图形的实例并将新的 Vertex 对象传递给函数但没有工作。
即
Vertex vertex = (Vertex) graphTraversalSource.addV("Test").property(id,"Profile:TEST");
任何人都可以建议测试这些类型方法的方法吗?
你问了关于 "unit testing" 的问题,但你的问题似乎真的是关于为什么:
Vertex vertex = (Vertex) graphTraversalSource.addV("Test").property(id,"Profile:TEST");
不允许您创建可以测试的 Vertex
。我想说最明显的问题是你没有以任何方式iterate your traversal。在这种情况下,您需要调用 next()
:
Vertex vertex = (Vertex) graphTraversalSource.addV("Test").property(id,"Profile:TEST").next();
当然,对于您要测试的 fn(Vertex)
函数,我认为在图形数据库中创建实际的 Vertex
没有多大意义 - 您可以改用 org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex
并做:
Vertex vertex = new DetachedVertex("Profile:TEST", "Test", null);
然后将其传递给您的函数进行测试。
我是单元测试的新手。如何为这些类型的方法编写单元测试?
private boolean fn(Vertex vertex) {
return vertex.id().toString().split(":").length > 1;
}
这里的 Vertex 是 gremlin query 的元素。 我试图创建图形的实例并将新的 Vertex 对象传递给函数但没有工作。 即
Vertex vertex = (Vertex) graphTraversalSource.addV("Test").property(id,"Profile:TEST");
任何人都可以建议测试这些类型方法的方法吗?
你问了关于 "unit testing" 的问题,但你的问题似乎真的是关于为什么:
Vertex vertex = (Vertex) graphTraversalSource.addV("Test").property(id,"Profile:TEST");
不允许您创建可以测试的 Vertex
。我想说最明显的问题是你没有以任何方式iterate your traversal。在这种情况下,您需要调用 next()
:
Vertex vertex = (Vertex) graphTraversalSource.addV("Test").property(id,"Profile:TEST").next();
当然,对于您要测试的 fn(Vertex)
函数,我认为在图形数据库中创建实际的 Vertex
没有多大意义 - 您可以改用 org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex
并做:
Vertex vertex = new DetachedVertex("Profile:TEST", "Test", null);
然后将其传递给您的函数进行测试。