2013-06-26 73 views
0

我的JUnit測試是這樣定義的:的JMeter JUnit的SpringRunner問題

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = { "/spring-test.xml" }) 
public abstract class MyTest { 

它工作得很好,當測試通過Maven的正常運行等 但是,當我試圖用JMeter來運行它,好像它不再設置xml文件中定義的spring依賴項,看起來像這個RunWith annotaion被忽略。嘗試使用彈簧注射法時,我得到了NPE。 有沒有解決方法如何正確解決它?

回答

0

JUnit採樣器實現不使用標準的JUnit Runner工具。 請參閱文檔中的第7點(http://jmeter.apache.org/usermanual/component_reference.html#JUnit_Request)。

另請參閱此票中的討論: https://issues.apache.org/bugzilla/show_bug.cgi?id=47888#c1

如果你有興趣在實施看看org.apache.jmeter.protocol.java.sampler.JUnitSampler

+0

所以我應該怎麼辦呢? – javagirl

+0

> Apache JMeter是100%純Java桌面應用程序,用於加載測試客戶端/服務器軟件(例如Web應用程序)。 (請參閱http://jmeter.apache.org/usermanual/intro.html) 如果這不是您的場景,那麼JMeter不是正確的工具。 您是否考慮使用Ant/Maven來觸發您的單元測試? –

+0

我想集成jmeter與maven和jenkins,以便我們可以連續執行與jenkins運行的一些重要集成測試的性能指標 – javagirl

0

試圖讓幾天以來一樣的工作。
儘管註解存在問題。
它跑在JMeter的不使用註釋,如加載使用上下文:

ApplicationContext context = new FileSystemXmlApplicationContext("Spring-Module.xml"); 
context.getBean("helloWorld"); 
+0

是的,我也將其作爲解決方法,但這非常煩人。 – javagirl

+0

是的。 @RunWith是Jmeter jar中的Junit(使用4.11)的一部分。儘管在jmeter的lib下進行了spring-test,但它仍然無法獲取SpringJUnit4ClassRunner。 – user1911215

+0

我有很多現有的使用註釋的測試用例,所以這個解決方法不會削減它。 – user1911215