Gruplarda @BeforeMethod
kullanimini merak ediyorum. http://testng.org/javadoc/org/testng/annotations/BeforeMethod.html'da:TestNG Gruplara kestirmeden önce
alwaysRun: true olarak ayarlanırsa, bu yapılandırma yöntemi hangi gruplara ait olursa olsun çalışır.
public class BeforeTest { private static final Logger LOG = Logger.getLogger(BeforeTest.class); @BeforeMethod(groups = {"g1"}, alwaysRun = false) public void setUpG1(){ sleep(); LOG.info("BeforeMethod G1"); } @Test(groups = {"g1"}) public void g1Test(){ sleep(); LOG.info("g1Test()"); } @BeforeMethod(groups = {"g2"}, alwaysRun = false) public void setUpG2(){ sleep(); LOG.info("BeforeMethod G2"); } @Test(groups = {"g2"}) public void g2Test(){ sleep(); LOG.info("g2Test()"); } private void sleep(){ try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } }
verir:
Yani şu sınıf var
KenaraBeforeMethod G1
BeforeMethod G2
g1Test()
BeforeMethod G1
BeforeMethod G2
g2Test()
önce kimsenin neden hem bana açıklayabilir, awaysRun varsayılan olarak false olduğunu düşünüyorum gerçeği Gruplar dikkate alınmadan her test öncesi yöntemler denir? @Test (skipBeforeMethod = "setUpG1") gibi bir şey de işe yarayacaktı.
IntelliJ IDEA CE 10.5.2 kullanıyorum. Ben de 1.0-kilometre taşı-3 ile çalıştım.
Hiç çalışmaz, düşünce gruplaması bir tür filtreleme türüdür, böylece belirli bir gruba sahip olan önceki Yöntem yalnızca aynı gruptaki testlere uygulanır. Sanırım yanılıyordum. Yapmam gereken şey burada çözümünüz gibi bir şeydir (http://stackoverflow.com/questions/3115822/passing-output-of-one-test-method-to-another-method-testng), ancak bununla ilgili problem Çözüm, f1'e bağlı olarak çok sayıda test yapıldığında mResult'un yeniden ayarlanmamasıdır. – rweng