- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 HippoCMS 组件编写单元测试,但是我无法解决如何伪造 Repository 对象来模拟 persistFormMap 数据的问题。
我遵循基本的 HST-2 表单建议来实际检索请求数据( http://www.onehippo.org/library/concepts/component-development/hst-2-forms.html ),但是我还没有找到一种简单的方法来模拟/伪造 getWritableSession 的存储库部分(从 persistFormMap() 调用)放入一个假组件管理器中。
public static Session getWritableSession() 抛出 RepositoryException {
如果(HstServices.isAvailable()){
凭证defaultCredentials = HstServices.getComponentManager().getComponent(Credentials.class.getName() + ".writable");
存储库repository = HstServices.getComponentManager().getComponent(Repository.class.getName());
session session =空;
if (存储库!= null) {
if (defaultCredentials != null) {
session =repository.login(defaultCredentials);
} 别的 {
session =存储库.登录();
}
}
返回 session ;
}
有没有一种方法可以不使用 persistFormMap() 来获取提交的数据?或者一种正确伪造存储库的方法(希望不是我在文档中简单查看的内容)。
最佳答案
在测试套件的设置方法中,您可以设置组件管理器 HstServices.setComponentManager(componentManager)确保 componentmanager 是一个模拟。现在您可以控制它返回的内容。这可能需要一些 mock ,这是不幸的。
确保在拆卸中将组件管理器设置为 null,因为它是静态类,可能会导致同一套件中的测试出现问题。
关于java - 模拟/伪造存储库(或在没有 persistFormMap 的情况下填充 FormMap),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163732/
我正在为 HippoCMS 组件编写单元测试,但是我无法解决如何伪造 Repository 对象来模拟 persistFormMap 数据的问题。 我遵循基本的 HST-2 表单建议来实际检索请求数据
我是一名优秀的程序员,十分优秀!