1
我想使用文檔中描述的方法在我的Struts2操作上運行一個簡單的測試。然而,測試類沒有實例化,而是給了我以下異常:Struts2單元測試給出的錯誤:在類文件中不是本地或抽象的方法中的缺少代碼屬性javax/servlet/ServletException
Results :
Tests in error:
initializationError(net.myorg.myProj.actions.HomeTest): Absent Code attribute in method that is not native or abstract in class file javax/servlet/ServletException
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
這裏是我的測試類的代碼:
import com.opensymphony.xwork2.ActionProxy;
import org.apache.struts2.StrutsTestCase;
import org.junit.Test;
import static org.junit.Assert.*;
public class HomeTest extends StrutsTestCase
{
@Test
public void testExecute() throws Exception
{
System.out.println("getting proxy");
ActionProxy proxy = getProxy();
System.out.println("got proxy");
String result = proxy.execute();
System.out.println("got result: " + result);
assertEquals("Landing", result, "landing");
}
private ActionProxy getProxy()
{
return getActionProxy("/");
}
}
我在做什麼錯?
編輯:在我的pom.xml中,我有以下幾點:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
我猜,這是導致此問題,即瓶子沒有被正確下載或列入當我剛從IDE內部而不是通過Web瀏覽器運行單元測試?我如何自己包含這個jar,以便單元測試能夠運行?