当前位置: 首页 > 面试题库 >

是否可以将Testacular(Karma)与角度方案混合?

谷永贞
2023-03-14
问题内容

遗言(现在的业力)很棒,角度场景也是如此。然而,将它们一起使用是一个挑战。在睾丸中有一个ANGENLAR-SCENARIO-
ADAPTER,但这打破了简单的测试。如果您自己包含angular-scenario.js,Testacular将完全不进行任何测试。有人能正常运行吗?

角度场景适配器

我已经尝试过使用它进行琐碎的测试,但是我看到了一些奇怪的行为:

测试:

describe('Simple', function(){
    it('should compare strings', function(){
        expect('foo').toBe('foo');
    });
});

配置的正常行为:

files = [
  JASMINE,
  JASMINE_ADAPTER,
//    ANGULAR_SCENARIO,
//    ANGULAR_SCENARIO_ADAPTER,
    'tests/lib/angular/angular.js',

    'tests/sample.js'
];

输出:

$ testacular start
info: Testacular server started at http://localhost:9876/
info (launcher): Starting browser ChromeCanary
info (Chrome 25.0): Connected on socket id KRwEUtKtiaJs3MoiEsNg
Chrome 25.0: Executed 1 of 1 SUCCESS (0.061 secs / 0.003 secs)

添加ANGULAR适配器配置时:

files = [
  JASMINE,
  JASMINE_ADAPTER,
    ANGULAR_SCENARIO,
    ANGULAR_SCENARIO_ADAPTER,
    'tests/lib/angular/angular.js',

    'tests/sample.js'
];

输出为:

$ testacular start
info: Testacular server started at http://localhost:9876/
info (launcher): Starting browser ChromeCanary
info (Chrome 25.0): Connected on socket id 5YZA2fSuNXjmI-yRFGF6
Chrome 25.0 Simple should compare strings FAILED
        expect undefined toBe "foo"
        /Users/iwein/projects/epec/spa/tests/sample.js:3:9: expected "foo" but was undefined
Chrome 25.0: Executed 1 of 1 (1 FAILED) (0.195 secs / 0.018 secs)

添加angular-scenario.js并希望JASMINE-ADAPTER可以处理它。

我也尝试过包括angular-scenario.js自己,但这是一个死胡同。

//inside testacular.conf.js
files = [
   JASMINE,
   JASMINE_ADAPTER,
   'tests/lib/angular/angular.js',
   'tests/sample.js'
];

我得到输出:

$ testacular start
info: Testacular server started at http://localhost:9876/
info (launcher): Starting browser ChromeCanary
info (Chrome 24.0): Connected on socket id uEzVQ6tqSu7M7tak4F6v
Chrome 24.0 Array #indexOf() should return -1 when the value is not present FAILED
    Expected true to be false.
    Error: Expected true to be false.
        at null.<anonymous> (/..../tests/sample.js:4:17)
Chrome 24.0: Executed 1 of 1 (1 FAILED) (0.07 secs / 0.004 secs)

如果我在混合中添加角度场景:

//inside testacular.conf.js
files = [
  JASMINE,
  JASMINE_ADAPTER,
  'tests/lib/angular/angular.js',
  'tests/lib/angular/angular-scenario.js',
  'tests/sample.js'
];

测试根本没有运行:

 $ testacular start
 info: Testacular server started at http://localhost:9876/
 info (launcher): Starting browser ChromeCanary
 info (Chrome 24.0): Connected on socket id GcyCTxuvhyFcCaE14BEP
 Chrome 24.0: Executed 0 of 0 SUCCESS (0.116 secs / 0 secs)

有人能正常运行吗?用什么true成为undefined


问题答案:

您不能将2种混合在一种睾丸的结构中 。您应该做的是 准备两种不同的睾丸配置 :一种用于运行单元测试,另一种用于运行e2e测试。

然后,您将 运行两次testacular
:首先执行单元测试,然后执行e2e测试。通常我会非常非常频繁地运行单元测试(每次保存!),而在提交之前进行e2e测试(因为这些测试运行时间更长)。我们希望从单元测试中获得尽可能最快的反馈,同时e2e测试提供最终的安全网,并确保应用程序难以覆盖的部分应用程序(导航,UI等)仍能正常工作。

这是AngularJS种子使用的技术,您可以在此处查看相应的定义:https : //github.com/angular/angular-
seed/tree/master/config



 类似资料:
  • 问题内容: 如果我正在渲染而不是,则以下代码有效。 是否可以将玉器文件渲染为部分角度? 问题答案: 是的,有可能。看下面的链接 需要注意的两个重要点是: 代替和 在路由中添加以下内容:(代码用于node中的expressjs) 退出并重新启动节点/快速服务器。

  • 我想制作Java应用程序。使用CEF3库。CEF是在任何应用程序中嵌入谷歌Chrome浏览器的库。LWJGL用于编写Java的GL代码。但是在使用CEF之前,基本问题是如何混合C和Java。 > Java main将C部分调用为DLL C部分创建窗口并设置GL上下文 在消息循环中,C再次回调Java部分,以便在Java中完成一些GL工作。 以下测试代码失败,并显示消息: 本机方法中的致命错误:线程

  • 我希望能够使用JSDOM作为浏览器运行jasmine测试在angular使用Karma。 我使用以下命令安装了jsdom和karma-jsdom-launcher:

  • 我在DRL中实现了大量的加班规则,我想在Quarkus上使用Optaplanner开发的列表应用程序中重用这些规则。Quarkus指南展示了一个使用流式约束提供程序的示例。我认为将SolverFactory与Quarkus一起使用不是问题。我似乎不可能让它们一起工作。 如果他们不能,是否有某种方法可以从约束流定义中执行DRL加班规则?我想我可以插入员工并在流中有匹配时切换到drools会话,但这似

  • 问题内容: 我正在使用Phonegap + React.js和Socket.io开发一个应用程序。但是,随后React-Native发行了,其原生感觉很棒。 我试图让socket.io-client与React Native一起工作,但是不幸的是没有成功。我做了一些研究,发现与此问题中描述的错误完全相同:https : //github.com/facebook/react- native/iss

  • 我想让flume代理位于hadoop集群之外,并想知道是否有可能使用flume通过WebHDFS向hadoop集群发送消息。 如果没有,是否有使用WebHDFS的替代方案?使用多层水槽层仍然需要我在hadoop集群中运行水槽代理。