我用打字稿创建了一个库,我的测试也是用打字稿编写的。 我真的很想尝试cucumber.js并使用打字稿创建步骤定义文件。 所以你支持coffeescript和js,.ts也不错。
问候
克里斯
你为什么不发送拉取请求@Chris2011
我将只是这个项目的客户,当我对我使用的每个东西做每个拉取请求时,都有一些缺失,而不是我可以自己创建它。 这只是一个功能请求。 如果有人有时间并愿意这样做,为什么不呢。 我没有,因为我没有时间,我有相同的正常工作和其他项目,并且不想成为我使用的每个项目的贡献者。 Sry 可能是严厉的话,但对我来说,很明显不可能成为我使用的每个项目的贡献者。 我必须了解来源等等。
我明白@Chris2011。 也许有一天有人会决定花时间来实现这一点,因为他们想帮助你,或者只是为了好玩。
更现实的情况是,此功能请求保持开放状态,直到有人需要它愿意花时间和精力来实现它并发送 PR。
也许。 谢谢你的意见。 在我看来,要求此功能是合乎逻辑的,因为 TS 将在 1 或 2 年内更受欢迎。 当您或任何人也决定实施 coffeescript 时,为什么不也使用 typescript 呢?
多谢。 我们会看看会发生什么......
一般来说 - 就像格式化程序一样 - 我希望语言/方言支持成为 3rd 方插件而不是核心的一部分(包括当前的 CoffeeScript 和 PogoScript)。
+1
+1
喜欢它,请做一段时间!!!
:+1:
再多的 +1 或 :+1: 都无法实现。 有人必须提交拉取请求。
:+1: @aslakhellesoy现场
:8ball: @samccone
@jbpros @aslakhellesoy支持第 3 方语言的唯一方法是实施修改方法:
SupportCodePathExpander.SUPPORT_CODE_FILES_IN_DIR_REGEXP = /\.(js|coffee|pogo)$/;
然后任何人都可以在support/env.js
注册任何转译器,例如
也许这个正则表达式应该被删除?
我很高兴看到这个。 我可以找到 coffeeScript 功能文件,但找不到步骤定义的实现位置,请有人给我一些关于需要做什么的指示吗?
@SeanFarrow我已经在本地完成了。 您只需修改/lib/cucumber//cli/argument_parser/support_code_path_expander.js:12
然后通过 require 钩子添加任何转译器
你要发公关吗?
来自:Aleh Kashnikau [mailto:[email protected]]
发送时间:2015 年 8 月 16 日 19:15
至:cucumber/cucumber-js [email protected]
抄送:肖恩法罗肖恩。 [email protected]
主题: Re: [cucumber-js] 请添加对 TypeScript 的支持 (#335)
@SeanFa rrowhttps://github.com/SeanFarrow我已经在本地完成了。 您只需修改 /lib/cucumber//cli/argument_parser/support_code_path_expander.js:12 然后通过 require 钩子添加任何转译器
—
直接回复本邮件或在 Gi tHub上查看
@mkusher还有更多。 为了完整起见,步骤定义片段也应该在附加语言中可用(目前没有为 PogoScript 完成),请参阅 CLI --coffee
标志。
无论如何,我真的希望这可以通过插件/转译器系统完成,并从核心中删除所有方言(包括coffeescript)。
我不明白为什么甚至需要特定语言的支持? 作为构建过程的一部分,您不只是将步骤定义转换为 JavaScript 吗?
是的,#398 会解决这个问题。
@henrify唯一“需要”添加到 Cucumber 的是对其他语言的步骤定义片段支持。 目前,默认情况下它们在 vanilla JS 中,并且可以使用--coffee
CLI 标志在 CS 中输出。
我们可能会完全删除非 JS 片段(包括 CS?)。 想法?
@jbpros自自述文件已更新,这在"cucumber typescript"
结果中突出显示,摘录:
- 步骤定义和支持文件可以用其他语言编写,这些语言可以转换为 javascript。
- 这通过 CLI 选项--compiler <file_extension>:<module_name>
。 对于 CoffeeScript 1.10.0,
- 这是用--compiler coffee:coffee-script/register
。
步骤定义和支持文件可以用其他可转换为 javascript 的语言编写。 这是通过 CLI 选项--compiler <file_extension>:<module_name>
。
安装coffee-script NPM 包并使用--compiler coffee:coffee-script/register
调用 Cucumber。
安装typescript-node NPM 包并使用--compiler ts:typescript-node/register
调用 Cucumber。
像往常一样,您的所有步骤定义和支持文件都必须导出一个由 Cucumber 运行的函数。 这是在 TS 中完成的方式:
declare var module: any;
module.exports = function () {
this.Given(/.*/, function () {
// ...
})
}
安装pogo NPM 包并使用--compiler pogo:pogo
调用 Cucumber。
真的需要使用 typescript-node 吗? 是否可以使用官方支持的 tsc 而不是 typescript-node? 我不知道这些区别,但 tsc 是微软官方支持的。
@Chris2011 ts-node
只是 node.js 的一个注册钩子,它将通过 tsc 运行编译
好的谢谢。
@JoshuaKGoldberg摘录来自哪里? 我的搜索未能找到它。
使用打字稿指导您使用 cucumberjs 的示例:
https://github.com/AbraaoAlves/cucumber-protractor-typescript-boilerplate
感谢@AbraaoAlves提供示例。
不幸的是,它只适用于cucumberjs 1。量角器-cucumber-framework 层与cucumber2 rcs 不兼容。
如何在黄瓜报告中附加屏幕截图。 我正在使用打字稿语言。 请任何人帮助我。
请确认是否会出现黄瓜+量角器+打字稿兼容性问题......因为我们计划在我们的实现中使用组合......
@拉贾兹潘迪
在After
做这样的事情
driver.takeScreenshot().then(data => {
attach(new Buffer(data, 'base64'), 'image/png');
}).catch(error => {
info(error);
throw error;
});
由于关闭后没有任何近期活动,因此该线程已自动锁定。 请为相关错误打开一个新问题。
最有用的评论
@jbpros自自述文件已更新,这在
"cucumber typescript"
结果中突出显示,摘录:转译器
- 步骤定义和支持文件可以用其他语言编写,这些语言可以转换为 javascript。
- 这通过 CLI 选项
--compiler <file_extension>:<module_name>
。 对于 CoffeeScript 1.10.0,- 这是用
--compiler coffee:coffee-script/register
。步骤定义和支持文件可以用其他可转换为 javascript 的语言编写。 这是通过 CLI 选项
--compiler <file_extension>:<module_name>
。咖啡脚本
安装coffee-script NPM 包并使用
--compiler coffee:coffee-script/register
调用 Cucumber。打字稿
安装typescript-node NPM 包并使用
--compiler ts:typescript-node/register
调用 Cucumber。像往常一样,您的所有步骤定义和支持文件都必须导出一个由 Cucumber 运行的函数。 这是在 TS 中完成的方式:
脚本
安装pogo NPM 包并使用
--compiler pogo:pogo
调用 Cucumber。