Java 有没有一种方法可以在testNG中动态地赋予描述注释属性?

Java 有没有一种方法可以在testNG中动态地赋予描述注释属性?,java,testng,Java,Testng,我想这样做b/c我想在测试中使用的方法中添加描述。这样我就避免了评论,并且可以随着测试的变化使细节保持最新 例如,我将在测试中调用此方法,同时更新给定的: private String GIVEN = ""; private String WHEN = ""; private String THEN = ""; @Test(description = GIVEN + WHEN + THEN)

我想这样做b/c我想在测试中使用的方法中添加描述。这样我就避免了评论,并且可以随着测试的变化使细节保持最新

例如,我将在测试中调用此方法,同时更新给定的:


    private String GIVEN = "";
    private String WHEN = "";
    private String THEN = "";


    @Test(description = GIVEN + WHEN + THEN)
    public void test() {

            GIVEN += "blah blah blah";
            WHEN += "blah blah blah";
            THEN += "blah blah blah";

    }

值只能是一个常量,所以我现在很困惑。

在TestNG.xml上定义参数

public void method(){
     code;
     GIVEN += "this code is doing this blah blah";
}

即使这是可能的,它也需要自定义测试运行程序。然后,您必须将描述存储在静态变量中的某个位置,并在runner中更新它。我强烈建议你不要走这条路。
<parameter name="blah blah blah" />
<parameter name="when" value="blah blah blah" />  
<parameter name="then" value="blah blah blah" /> 
  private String GIVEN = "";
   private String WHEN = "";
   private String THEN = "";
         
    @Test
         @Parameters({"given","when","then"})
            public void test() {
        
                    GIVEN += given;
                    WHEN += when;
                    THEN += then;
        
            }
ITestResult report = Reporter.getCurrentTestResult();
report.getMethod().setDescription("Whatever you would like to say");