有没有用于茉莉花角度控制器测试的生成器?

问题描述 投票:0回答:5

我正在寻找能为角度控制器生成样板茉莉花测试的东西。看来您可以将控制器的依赖项拉出来并将它们放入规范中并节省一些输入。如果我是第一个有这个想法的人,我会感到震惊,但我找不到任何可以做到这一点的东西,除了一个似乎不起作用的自耕农项目。

angularjs jasmine
5个回答
10
投票

我最近在 npm 上发布了我的 Angular JS 单元测试生成器版本 - tleaf。基本上,它会尝试解析源文件,查找 AngularJS 单元(控制器、服务等),以提取有关单元名称、模块名称和单元依赖项的信息。此信息用于根据该单元类型的模板创建单元测试文件。有一组默认的模板,其结构非常简单,对于一般用途来说应该没问题。但也可以创建并使用您自己的模板来生成单元测试文件。这是第一个版本,我很乐意收到任何反馈。


6
投票

我不知道用于测试的生成器,但我有两个想法。

一些编辑器提供“重复”代码的模板。就像 Webstorm 的实时模板。 github上有多个项目为其提供了jasmine模板。

您还可以检查ng-describe。它消除了样板并使测试变得更简单。这是他们 github 上的示例:

ngDescribe({
  modules: 'A',
  inject: ['$rootScope', 'foo'],
  tests: function (deps) {
    it('finally a test', function () {
      deps.$rootScope.$apply();
      expect(deps.foo).toEqual('bar');
    });
  }
});

5
投票

我正在使用 yeomangenerator-angular 来生成我们的脚本和测试。


yo angular:directive myDirective
yo angular:service myService
yo angular:controller myController
等等..

将生成脚本和规范模板。我正在使用 Karma 和 Jasmine。

您也可以编写自己的 yeoman 生成器。


0
投票

我发现了这个东西,它有很多好处:

https://www.npmjs.com/package/generator-yosapy


0
投票

利用人工智能功能生成单元测试可以简化和加快单元测试过程。

该库读取您的组件文件并为其生成特定的测试用例。

npm i ai-test-gen-angular
export OPENAI_API_KEY=somekey
node ./node_modules/ai-test-gen-angular/index.js "relative/path/to/service/or/somecomponent.component.ts" "relative/path/to/tsconfig.json" 

此代码将生成一个单元测试文件,其中包含您在命令中提到的组件或服务的书面测试。 请注意,您需要有一个 openai api 密钥才能使用它。

原答案这里

© www.soinside.com 2019 - 2024. All rights reserved.