asp.net-mvc - 在 MVC 5 上设置 Jasmine 测试框架

标签 asp.net-mvc visual-studio-2013 jasmine nuget installation

我在 VS2013 的 MVC 5 项目中从 nuget 设置 Jasmine 测试框架时遇到问题。

运行 SpecRunner.cshtml 文件时,我总是收到错误消息。一直说找不到资源,但没有具体说明是哪个资源。

有人知道如何正确设置独立的 SpecRunner.cshtml (无需浏览索引页)吗?

这是我当前在 SpecRunner.cshtml 中的内容

@{
  Layout = null;
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Toolkit - Tests</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="shortcut icon" type="image/png" href="/Content/jasmine/jasmine_favicon.png">
    <link rel="stylesheet" type="text/css" href="/Content/jasmine/jasmine.css">
    <script type="text/javascript" src="/Scripts/jasmine/jasmine.js"></script>
    <script type="text/javascript" src="/Scripts/jasmine/jasmine-html.js"></script>
    <script type="text/javascript" src="/Scripts/jasmine/boot.js"></script>

    <script src="~/Scripts/AngularJS/angular.js"></script>
    <script src="~/Scripts/AngularJS/angular-mocks.js"></script>
    <script src="~/Scripts/AngularJS/angular-ui-router.js"></script>

    <!-- include source files here... -->
    <!--<script type="text/javascript" src="/Scripts/jasmine-samples/SpecHelper.js"></script>
    <script type="text/javascript" src="/Scripts/jasmine-samples/PlayerSpec.js"></script>-->
    <script src="~/Scripts/MyAngularJS/app.js"></script>
    <script src="~/Scripts/MyAngularJS/controllers.js"></script>

    <!-- include spec files here... -->
    <!--<script type="text/javascript" src="/Scripts/jasmine-samples/Player.js"></script>
    <script type="text/javascript" src="/Scripts/jasmine-samples/Song.js"></script>-->
    <script src="~/Scripts/MyAngularJS/controllersTest.js"></script>

    <script>
    (function () {
        var jasmineEnv = jasmine.getEnv();
        jasmineEnv.updateInterval = 1000;

        var htmlReporter = new jasmine.HtmlReporter();

        jasmineEnv.addReporter(htmlReporter);

        jasmineEnv.specFilter = function (spec) {
            return htmlReporter.specFilter(spec);
        };

        var currentWindowOnload = window.onload;

        window.onload = function () {
            if (currentWindowOnload) {
                currentWindowOnload();
            }
            execJasmine();
        };

        function execJasmine() {
            jasmineEnv.execute();
        }

    })();
    </script>
</head>

<body>
</body>
</html>

最佳答案

您可以使用 Chutzpah 。它是一个 JavaScript 测试运行器,可以与 Jasmine 配合良好。它可作为 Visual Studio 的插件使用,并且易于设置。它还与 Visual Studio 的测试资源管理器集成。 wiki解释其功能及其工作原理。

关于asp.net-mvc - 在 MVC 5 上设置 Jasmine 测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25866707/

相关文章:

asp.net-mvc - NSubstitute:在 MVC/Web Api Controller 中模拟请求、响应对象?

c++ - 2 个重载具有相似的转换 - 内置运算符 integer[pointer-to-object]

javascript - 测试 Angular 中的 jasmine 是否调用了 $httpProvider.interceptors.push()

javascript - 带有 iframe 的 Jasmine 装置

ruby-on-rails-3 - 运行 Jasmine 规范时“未收到数据”

c# - 启动 ASP.NET MVC 4 应用程序时执行代码

c# - 混合模型优先和代码优先

asp.net-mvc - 隐藏日期时间的 ASP.NET MVC 格式

c++ - 在 Visual Studio 之外启动时程序运行速度较慢

visual-studio - Visual Studio 2015 需要管理员权限