2

代码

package tests;

import org.testng.annotations.Test;

@Test
public class SearchText {


    public void createzoo(String[] args) {  

        String[] elems = {"lion", "tiger", "duck"};  
        System.out.println(elems[0]);
        System.out.println(elems[1]);
        System.out.println(elems[2]);
    }
}

结果:

跳过:createzoo org.testng.TestNGException:方法 createzoo 需要 1 个参数,但在 @Test 注释中提供了 0。

4

3 回答 3

4

示例 createzoo 方法实际上并没有使用传入的 args。由于它没有使用它们,只需将消息签名更改为:

public void createzoo()

大多数 JUnit/TestNG 测试不接受任何参数。您可能会将其与具有 public static void main(String[] args) 的典型程序混淆

测试main()本身并没有,框架将为您运行测试。

仅在您确实需要它们并且该方法将对它们做一些事情时才使用其他人提到的参数。

于 2013-12-05T19:32:28.887 回答
1

您需要String[] argscreatezoo方法中提供参数的值。以下是几种方法:

  • 在方法上使用@Parameters注释并在 testng.xml 文件中提供值。
  • Dataprovider(Cedric 在他的回复中也提到了)。
  • @Optional注释放在您的参数上并提供默认值。

阅读 TestNG 文档 - 它有很多关于如何完成此操作的示例。

于 2013-03-27T00:00:56.210 回答
0

以下是相关文档: http ://testng.org/doc/documentation-main.html#parameters-dataproviders

于 2013-03-26T16:17:54.780 回答