2013-01-18 151 views
1

我用來運行採用Android單元測試我的單元測試,但使用Robolectric切換到Java單元測試。我使用的SAXParser的DefaultHandler注意到的差異。基本上,在Android SAX解析器將填充「的localName」,但在使用Robolectric下運行的Java虛擬機的localName是空的,和QName似乎包含我應該使用的值。Robolectric:SAXParser的在Android和SAXParser的在Java中(robolectric):在localName創建差異VS qname的

這裏我指太方法​​:

進口org.xml.sax.helpers.DefaultHandler中;

public abstract class BaseParser extends DefaultHandler 
{ 
    @Override 
    public abstract void startElement(String uri, String localName, String qName, Attributes attributes); 
} 

任何人通知這個陌生occurence或能解決這個問題?

回答

1

當解析你的XML,嘗試設置的SAXParserFactory是名稱空間感知的。

SAXParserFactory spf = SAXParserFactory.newInstance(); 
spf.setNamespaceAware(true); 

添加此標誌對Robolectric運行單元測試時效果良好。