2017-02-13 72 views
0

最近获得了在Java上使用cucumber编写bdd测试的代码。已经有几个测试和测试框架的Maven项目。我需要继续使用这个框架编写bdd测试。 我正在编写API测试,并尝试运行它们,我得到的错误。我发现它无法进一步运行,但我想知道在代码中这样做的想法。让我分享一些代码:无法通过Java中的System属性获取api主机名

所以测试框架正在收集有关API的主机名信息是这样的:

public class AnyClass { 

    private static final String API_HOSTNAME = "hostname"; 

    private static String getAPIHostName() { 
     String apiHostName = System.getProperty(API_HOSTNAME); 

... 

}

当我离开它是和运行测试,我获取主机名为空的错误。

你可以建议系统属性键“主机名”下可能会有什么?

p.s.我试图使用http://localhosthttp://127.0.0.1,其中我的API位于,而不是分配系统属性,但它无法找到这样的主机名。

+0

看来你的框架被设计为有需要测试作为一个系统属性传递主机命令行。那有什么问题? – RealSkeptic

+0

@RealSkeptic,是的,这也是我的假设。但奇怪的是,你不能在没有这个参数的情况下构建Maven项目。我应该将它插入pom文件中的某个位置以使其工作吗? – Paulus

+0

问题是,即使我设置字符串apiHostName =“http:// locahost”,它说ClientHttpProtocolError,此外我需要提供端口和文件夹的API请求应该去。不幸的是,没有关于如何运行现有测试的指令,在命令行中提供输入,并且我被卡住了。 – Paulus

回答

0

您能否就系统属性键“主机名”下可能会有什么提供建议?

是的,我需要的语法运行命令行测试,如: MVN清洁验证-Dhostname = http://127.0.0.1:8080