Mocha(Node.js 的测试框架)使用 make。
在我的一生中,我找不到适用于 Windows 的兼容 make.exe。
在我的 Mac 上一切正常。
我尝试过使用 VS 的 nmake.exe 和一个我发现是从 Unix 移植的 make.exe。但它们都是不相容的。
不可能只有我
这是生成文件:
test:
@./node_modules/.bin/mocha -u tdd -R spec
.PHONY: test
在 .在 PHONY 中,即使我删除它,它也不会运行 mocha 命令(或者至少没有输出)。
运行 ./node_modules/.bin/mocha -u -tdd -R spec 直接给我我的测试报告:
first suite -
? ten should always be equal to 9+1
? zero is less all positive numbers
? There is no i in team
? 3 tests complete (8ms)
Set-Alias make "c:\dev\utils\cygwin\bin\make.exe" 现在 make test 适用于标准 Mocha Makefile。最佳答案
嘿,我感觉到你了 ;) 我是一个团队的一员,他们正忙着使用 node.js 建立一个新的创业公司。我们的两个开发人员在 OSX 上,一个在 Linux 上。我在 Windows 上。
我下载并使用了GNU's "Make for Windows"现在可以非常愉快地制作我们的安装和测试套件了。
另外,我强烈建议您使用 PowerShell - 它有一堆别名为 UNIX 友好命令的命令(例如 Get-ChildItem -> ls)。这使得我们的一些脚本无需更改即可在 UNIX 或 Windows 上运行。
所以,对于你的问题:
尝试将上面的 makefile 替换为以下内容:
# Detect if we're running Windows
ifdef SystemRoot
# If so, set the file & folder deletion commands:
FixPath = $(subst /,\,$1)
else
# Otherwise, assume we're running *N*X:
FixPath = $1
endif
NODE_MODULES := ./node_modules/.bin/
test:
$(call FixPath, NODE_MODULES)mocha -u tdd -R spec
.PHONY: test
注意:使用 Makefile,目标中的任务必须使用制表符缩进,而不是空格!去图!!
我从 this post 窃取了 FixPath 例程(感谢保罗 :))。如果在 Windows 上运行,它将用\替换字符串的/。
在 Windows 上使用 make 的一个问题是,它会向 NT 的命令外壳(通过 CreateProcess)进行外壳处理以执行每个任务。这意味着 Powershell 将处理的任何 NX-isms(例如 ls、cat 等)在执行 makefile 时都将不起作用。因此,建议用可覆盖的别名替换内联命令,您可以为 NT 设置一个命令,为 NX 设置另一个命令。
也许我会 fork Gnu Make,看看是否可以在执行命令而不是 NT 命令行时将其输出到 Powershell。这也将消除对上述 FixPaths 的需求;)
如果你卡住了,请联系我 ;)
关于windows - Mocha 需要制作。找不到适用于 Windows 的 make.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9779700/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/
exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby中使用两个参数异步运行exe吗?我已经尝试过ruby命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何rubygems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除
我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只
我知道您通常应该在Rails中使用新建/创建和编辑/更新之间的链接,但我有一个情况需要其他东西。无论如何我可以实现同样的连接吗?我有一个模型表单,我希望它发布数据(类似于新View如何发布到创建操作)。这是我的表格prohibitedthisjobfrombeingsaved: 最佳答案 使用:url选项。=form_for@job,:url=>company_path,:html=>{:method=>:post/:put} 关于ruby-on-rails-rails:Howtomak
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u