我正在尝试使用与Dropbox api交互的Karma Jasmine创建单元测试。
以下是测试。它编译指令,然后单击它。这将检查文件选择器窗口是否打开。以这种方式检查窗口开放适用于其他测试,但在此实例中它失败,因为@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
@Stateless
public class Bean {
final static Logger LOGGER = LoggerFactory.getLogger(Bean.class);
@PersistenceContext(unitName = "MYUNIT")
EntityManager em;
public MyObject create(){
MyObject obj = new MyObject();
obj.businessKey = "some string";
em.persist(obj);
LOGGER.debug("MyObject.id: {}", obj.id); // eg. 100
return obj;
}
public void update(MyObject obj){
obj.stuff = "some stuff";
MyObject merged = em.merge(obj);
LOGGER.debug("obj.id: {}", obj.id); // still 100
LOGGER.debug("merged.id: {}", merged.id); // new id: 101!
}
public void findAndUpdate(MyObject obj){
obj.stuff = "some stuff";
em.find(MyObject.class, obj.id); // doing nothing with the returned MyObject
MyObject merged = em.merge(obj);
LOGGER.debug("obj.id: {}", obj.id); // still 100
LOGGER.debug("merged.id: {}", merged.id); // still 100!
}
}
。这是因为它不在测试中。该文件通过https://www.dropbox.com/static/api/2/dropins.js直接托管Dropbox,所以我似乎无法注入...所以问题是,在这种情况下如何使ReferenceError: Can't find variable: Dropbox
可用?
Dropbox
提前致谢
答案 0 :(得分:1)
你的做法是错误的。您正在尝试单击测试按钮单击。您没有单击测试按钮单击,您单元测试控制器/服务/指令代码。
要测试按钮,请使用量角器。这是E2E测试(端到端)。