gpt4 book ai didi

karma-runner - Asp.Net 5 和 Aurelia Karma 测试

转载 作者:行者123 更新时间:2023-12-04 04:17:05 24 4
gpt4 key购买 nike

我正在尝试在新的 ASP.NET 5 应用程序中为 Aurelia 设置骨架导航项目。我已经尝试了很多事情并且相信我已经接近了,但我真的被客户端测试所困扰。

我下载了 skeleton project从 GitHub 上的 Aurelia 存储库中解压出来。

我利用 Scott Allen 的设置 jspm 设置的建议将 jspm 包放置在 wwwroot 文件夹中,如 this post 中所述。 .

然后我更新了项目结构,如下所示:

sln
|->wwwroot
|->dist
|->jspm_modules
|->src
|->styles
|->test
|->config.js
|->index.html
|->index.js
|->build
|->Controllers
|->doc
|->node_modules
|->aurelia.protractor.js
|->aureliafile.js
|->gulpfile.js
|->karma.conf.js
|->package.json
|->project.json
|->protractor.conf.js
|->Startup.cs

我有两个问题:

1. Aurelia 骨架导航启动项目中的 test 文件夹应该在哪里?一方面 wwwroot 很有意义,因为这是应用程序的其余部分
javascript 文件将继续存在。但另一方面,这些文件
永远不应该提供给客户,所以将它们放在 wwwroot 中
没有多大意义。

2. 一旦它们驻留在项目结构中的适当位置,需要更新哪些文件/值以使测试正常运行?目前我将它们放在 wwwroot 目录中。我将 karma.conf.js 文件中的 basePath 更新为“wwwroot”。当我执行 karma start 命令时,它给我一个 404 错误,试图定位“/base/app-bundle.js”。该文件存在于“wwwroot/dist/app-bundle.js”中,但我不知道如何配置 karma 以在那里找到它。

任何帮助将不胜感激。

最佳答案

这是一个很好的问题,希望将来可以让其他人受益,不仅是 Visual Studio 和 IIS,还有由为应用程序提供服务的父框架驱动的任何项目结构。

karma 配置文件

首先,让我们看看我们实际测试的内容。由于 karma-jspm 能够使用 babel 进行动态编译,我们将测试我们的 src ,不是我们的区。这很重要,因为我们想确保我们的 karma 配置路径都指向那里,但留下我们的 config.js单独这样 system.js 知道在实际运行应用程序时从 dist 获取文件。

基本路径设置

让我们不理会我们的基本路径。我们在 wwwroot 中有我们的测试和 src ,但就像你提到的,这并不是我们的测试真正所属的地方。让我们将它们移回根并设置 basePath: ''所以所有路径都从根开始。

jspm 设置

接下来,让我们告诉 karma 如何设置我们的 jspm 特定设置,例如加载哪些文件和创建哪些路径。这里要记住的一件事是新的 paths我们在 config.js 中定义因为我们正在测试 src,所以需要在我们的 karma.conf.js 中更新助手,而不是 dist (config.js 指向的)。还要确保在前面加上 wwwroot/到任何以 src 开头的文件或文件路径这样 karma 就知道在哪里加载它们。

jspm: {
// Edit this to your needs
loadFiles: ['wwwroot/src/**/*.js', '/test/unit/**/*.js'],
paths: {
'*': '*.js',
"services/*": "wwwroot/src/services/*.js"
}
},

巴别塔设置

最后,我们需要更新我们的 babel(或 traceur)设置,以便 karma 知道哪些文件需要预处理以及使用哪些选项。这是因为我们从 src 加载用于检测。
preprocessors: {
'test/**/*.js': ['babel'],
'wwwroot/src/**/*.js': ['babel']
},

脚注

通常我会链接到一堆有帮助的代码示例,但在这种情况下,我认为在此答案中对垃圾邮件进行编码是合适的,但是如果将来对 karma-jspm 发生任何更改,则可能值得编辑或注意在评论中,所以答案不会变得陈旧。

关于karma-runner - Asp.Net 5 和 Aurelia Karma 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32504688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com