首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Jasmine测试AJAX调用

用Jasmine测试AJAX调用
EN

Stack Overflow用户
提问于 2012-09-25 07:11:38
回答 1查看 788关注 0票数 0

对于我目前的项目,我正在建立JS测试与茉莉花。我们希望在每个构建上自动运行测试,因此我将其插入Maven构建中。我可以对Javascript进行一些基本测试,一切都很正常。到目前一切尚好!

但是,我们正在构建一个富客户端接口,并对服务器执行大量回调--因此,我们的代码中有很多$.ajax调用。每当我试图加载包含调用的JS文件(不是执行测试,甚至还没有处理),Maven构建每次都会崩溃,因为它已经尝试执行回调了:

代码语言:javascript
复制
[ERROR] Caused by: java.io.FileNotFoundException: F:\Users\gjoris\Development\Source\xxx\xxx-war\target\jasmine\rest\xxx\search (The system cannot find the path specified)

所以,我要说的很清楚:我不是在这里运行测试,我只是加载源代码。这是我的插件的配置:

代码语言:javascript
复制
            <plugin>
            <groupId>com.github.searls</groupId>
            <artifactId>jasmine-maven-plugin</artifactId>
            <version>1.2.0.0</version>
            <extensions>true</extensions>
            <executions>
                <execution>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <sourceIncludes>
                    <include>sorting*.js</include>
                    <include>*blabla*.js</include>
                </sourceIncludes>
                <jsSrcDir>${project.basedir}/src/main/webapp/resources/scripts/</jsSrcDir>
                <jsTestSrcDir>${project.basedir}/src/test/javascript</jsTestSrcDir>
                <timeout>300</timeout>
                <preloadSources>
                    <!-- Load basic libraries for application-->
                    <source>${project.basedir}/src/main/webapp/resources/scripts/libs/knockout-2.1.0.js</source>
                    <source>${project.basedir}/src/main/webapp/resources/scripts/libs/jquery-1.7.2.min.js</source>
                    <!-- Load all necessary Jasmine plugins -->
                    <source>${project.basedir}/src/test/javascript/libs/jasmine-ajax/mock-ajax.js</source>
                    <source>${project.basedir}/src/test/javascript/libs/jasmine-jquery/jasmine-jquery.js</source>
                    <!-- Load our own mocks -->
                    (some of our mocks in JS go here)
                    <!-- Load additional libraries, application specific, which are needed to run -->
                    (some general JS, which are used everywhere)
                </preloadSources>
            </configuration>
        </plugin>

谁有这方面的经验,并知道我必须如何配置它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-25 08:20:38

我已经有答案了,但可以肯定的是,我会把它发到这里。

问题是我们也在使用KnockoutJS,而且模型在加载时执行ajax调用。

我现在所做的是将剔除的加载特性提取到一个不同的JS文件中,而我并没有将这些特性加载到预装的源代码中。这样,我可以在我的模型上测试所有的东西,但是ajax调用不会在预加载时执行。因此,我可以模拟ajax调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12577905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档