一直在尝试使用我的seam项目和Jboss嵌入式容器进行集成测试但是没有取得多大成功.一直在做很多阅读,并一直在尝试这个JIRA中提到但没有运气.
Amy目前只是试图让'testproject-master-JBSEAM-2371.zip'项目正常运行但是我得到了以下异常
ERROR [org.jboss.embedded.DeploymentScanner] Failed to deploy
org.jboss.deployers.spi.DeploymentException: No deployer recognised the structure of vfsfile:/Users/aaron/Development/eclipse_workspaces/workspace_pink/testproject-web/target/test-classes/conf/jboss-service.xml
at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.determineStructure(VFSStructuralDeployersImpl.java:219)
at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:77)
Run Code Online (Sandbox Code Playgroud)
有没有人有幸使用maven而不是seam-gen项目进行Seam集成测试?
希望有人可以帮我解决一个轻微的障碍,在a4j链接/按钮执行了它的操作后,我反对重新渲染RichFaces组件.我的问题的简化版本如下:
我有2个输出组件显示文本值,这些组件基于我的manager类中的某个值进行渲染:
<h:outputText id="on" value="ON" rendered="#{manager.isOn}" />
<h:outputText id="off" value="OFF" rendered="#{not manager.isOn}" />
Run Code Online (Sandbox Code Playgroud)
我还有2个a4j链接调用一些动作,然后重新渲染上面的outputText组件:
<a4j:commandLink ajaxSingle="true" value="Set On" action="#{manager.setOn(true)}" reRender="on,off" />
<a4j:commandLink ajaxSingle="true" value="Set Off" action="#{manager.setOn(false)}" reRender="on,off" />
Run Code Online (Sandbox Code Playgroud)
我期望发生的是,当我点击'Set On'按钮时,'ON'outputText组件将取消隐藏,并且'OFF outputText组件将显示.但是,这不会发生.
有没有人知道为什么会这样,以及我如何在a4j组件操作完成后重新渲染这些组件?
我似乎遇到一个问题,我在rich:popupPanel上有一个a4j:commandLink,但是没有触发动作.xhtml看起来如下:
<rich:popupPanel id="rate-panel" modal="true" height="444" width="780" top="60" show="false" onmaskclick="#{rich:component('rate-panel')}.hide()" styleClass="cs-modal">
/**Some html here**/
<a4j:commandLink immediate="false" action="#{venueScore.up}" render="rate-panel" styleClass="rate love">
<span>Love it</span>
</a4j:commandLink>
/**Some more html here**/
</rich:popupPanel>
Run Code Online (Sandbox Code Playgroud)
托管bean看起来如下:
@Named("venueScore")
@ViewScoped
public class VenueScoreManager extends BaseManager implements Serializable {
public void up() {
System.out.println("TEST");
//Do something
}
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了托管bean @ViewScoped.
我也试过<h:form>在commandLink周围添加一个,但是,这比没有它更少.我实际上认为这是因为commandLink <h:form>位于打开popupPanel的链接所在的位置.
无论如何,有人可以指点我为什么行动不开火?
所以,我目前的Ember项目是使用Ember App Kit构建的.我的测试是使用精彩的httpRespond来模拟ajax请求.
但是,我已经开始注意到虽然httpRespond很棒,但您实际上只测试应用程序如何响应来自API的响应,而不是测试应用程序如何响应来自用户的交互.我猜的一个例子就是提交一个带有服务器端字段验证的表单.
使用httpRespond,您可以模拟响应,无论请求是什么样的,都会返回响应.因此,我基本上可以单击表单上的提交按钮,并成功提交表单,而无需填写任何字段.这感觉好像我们错过了什么.
进入Trek的Pretender.这有点像httpRespond的supeded版本.它看起来有点像模拟服务器,但只是像httpRespond一样嘲笑xhr.除非您在决定返回响应之前访问您可以检查的请求.
我很喜欢这个想法,我想用它.然而....
Pretender还没有Ember Testing意识到.httpRepond理解Ember的异步工作,并等待Ember中的异步事件完成后再进行测试.然而,伪装者还没有做到这一点.
例如,如果我单击我的Ember应用程序中的一个链接,该链接会启动一些不同的异步事件,我的测试将不会等待这些异步事件在继续之前完成,因此,测试在异步事件完成之前完成执行.
这让我想到了我的问题......
我们如何让Pretender Ember Testing意识到?
Trek已经提到这是他尚未做的事情,但我不确定他什么时候有时间去做.所以如果可能的话,我很乐意让它继续下去.
有没有人有任何想法如何尝试这个?
我已经为我的Seam应用程序编写了一些Drools规则,我想知道我是如何进行单元测试的.有没有人有任何示例代码可以告诉我如何去做这个?
对于Ruby Web测试,是否有比WaTiR更好的单元测试工具?或者是事实上的标准?你使用什么单元测试工具?
integration-testing automated-tests web-testing watir functional-testing
seam ×3
richfaces ×2
unit-testing ×2
ajax4jsf ×1
cdi ×1
commandlink ×1
drools ×1
ember.js ×1
jboss ×1
jboss-rules ×1
jboss-weld ×1
jsf-2 ×1
maven-2 ×1
watir ×1
web-testing ×1