Javascript 是否可以通过JSCS/JSHint限制fit/fdescribe函数?

Javascript 是否可以通过JSCS/JSHint限制fit/fdescribe函数?,javascript,angularjs,unit-testing,Javascript,Angularjs,Unit Testing,我在某个开发团队工作。我们的程序中有单元测试。里面有很多测试。每个测试包含一个模块。通常,一个开发人员在一个任务中只处理一个或一些模块(但不是很多)。为了提高单元测试的速度,我使用了重点规范(我使用Jasmine,我们的应用程序是AngularJS应用程序) 问题是:有时我忘记删除聚焦规格。我在程序中使用fit/fdescribe调用提交和PR。它可能会给我和其他开发人员在将来带来问题。明显的例子:开发者正在开发:),他犯了一个错误,他开始测试,只关注规范工作,因为他在另一个文件上工作-这是一个

我在某个开发团队工作。我们的程序中有单元测试。里面有很多测试。每个测试包含一个模块。通常,一个开发人员在一个任务中只处理一个或一些模块(但不是很多)。为了提高单元测试的速度,我使用了重点规范(我使用Jasmine,我们的应用程序是AngularJS应用程序)

问题是:有时我忘记删除聚焦规格。我在程序中使用
fit
/
fdescribe
调用提交和PR。它可能会给我和其他开发人员在将来带来问题。明显的例子:开发者正在开发:),他犯了一个错误,他开始测试,只关注规范工作,因为他在另一个文件上工作-这是一个问题-会有错误,但他不会看到


是否有任何方法可以自动在我的测试中找到重点规范并警告开发人员?我们的团队正在使用CI并在其上运行grunt。Grunt有JSC和jshint的任务。也许有可能创建自己的规则来防止这个错误?

我会设置一个git挂钩并利用它

现在,让我们使用设置git挂钩

grunt.initConfig({
  githooks: {    
    options: {
      'pre-push': 'grunt ddescribe-iit'
    }
  },
  ddescribe-iit: {
    files: [
      'test/**/*.js',
      'app/**/*.spec.js'
    ]
  }
});  

这是一个非常做作的例子,我想象它是如何工作的,我自己没有使用ddescribe iit(尽管,像你一样,我应该这样!),也没有使用grunt githooks

然而,通过查看它们是如何组合在一起的,我的既定猜测是,这将是一个相当轻松的过程

与您一样,我们也在使用CI系统,当构建通过时,总是让人痛苦,但它只运行了几个选定的测试。使用一个git钩子,在推之前对着你的脸尖叫,我认为从根本上解决了问题(在开发步骤中没有引入观察者和额外的过程)

所有这些都是以0的开发开销为代价的


编辑:此答案假设您正在使用grunt作为任务执行器。有一大口