如何为这些类型的方法编写单元测试?

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);

然后将其传递给您的函数进行测试。