Google 单元测试看起来像自定义语法
Google unit tests seems like custom syntax
正在查看闪烁的 google 单元测试。我注意到其中大多数都有以下代码
accessibilityController.accessibleElementById('some-id').decrement();
现在正在尝试弄清楚这是什么。在我看来,这是一个单独的东西,看起来像是添加到编译器(v8)中以使这些单元测试顺利进行...
要进行的文件接缝
$HOME/chromium/src/content/shell/test_runner/accessibility_controller.cc
因此,如果是这种情况,我的问题如下:因为我想将这些测试带入我的应用程序中,而且我最确定地不想在 v8 上使用一些 comile 插件。我如何写行
accessibilityController.accessibleElementById('some-id').decrement();
纯 v8 可编译 javascript。还有这个“accessibilityController”到底在做什么,因为我的 c++ 不符合标准,我无法发现它。
嗯,这不完全是自定义 语法 ,它只是 JavaScript 代码可以与之交互的嵌入程序提供的对象。
V8 的每个嵌入器都提供了自己的对象 and/or 函数。例如,Node.js提供process
,browsers/Chromium提供document
,“d8”shell有一个quit()
功能。您发现“content_shell”是一个简单的 Blink+V8 嵌入器,用于 运行ning 测试,提供了一些它自己的东西。
在您自己的嵌入器中,您也可以实现它,或者您必须编辑要执行的脚本,以便它们不使用您的嵌入器中不可用的功能。一个更简单的解决方法是加载一个简单的 polyfill 来模拟此类调用,在您的情况下例如:
var accessibilityController = {
accessibleElementById: function() {
return {
decrement: function(){}
}
}
}
在执行导入的测试之前。
没有办法用“纯JavaScript”来写有问题的行,就像没有办法用纯JavaScript来表达document.createElement(...)
——你总是需要浏览器提供一个 document
对象。 (当然,你可以创建一个完整的假 DOM 实现,但它仍然不会绘制到屏幕上,所以这不是一回事。)好的一面是,如果你不知道什么是“ accessibilityController”可能会,那么你可能不需要它。
(现有示例:d8 曾经有一个自定义 print()
函数而不是 console.log
,但我们发现能够 运行 使用 [=17= 的脚本很有用] 而无需手动修改它们,所以我们最终将 console.log
添加到 d8.)
正在查看闪烁的 google 单元测试。我注意到其中大多数都有以下代码
accessibilityController.accessibleElementById('some-id').decrement();
现在正在尝试弄清楚这是什么。在我看来,这是一个单独的东西,看起来像是添加到编译器(v8)中以使这些单元测试顺利进行...
要进行的文件接缝
$HOME/chromium/src/content/shell/test_runner/accessibility_controller.cc
因此,如果是这种情况,我的问题如下:因为我想将这些测试带入我的应用程序中,而且我最确定地不想在 v8 上使用一些 comile 插件。我如何写行
accessibilityController.accessibleElementById('some-id').decrement();
纯 v8 可编译 javascript。还有这个“accessibilityController”到底在做什么,因为我的 c++ 不符合标准,我无法发现它。
嗯,这不完全是自定义 语法 ,它只是 JavaScript 代码可以与之交互的嵌入程序提供的对象。
V8 的每个嵌入器都提供了自己的对象 and/or 函数。例如,Node.js提供process
,browsers/Chromium提供document
,“d8”shell有一个quit()
功能。您发现“content_shell”是一个简单的 Blink+V8 嵌入器,用于 运行ning 测试,提供了一些它自己的东西。
在您自己的嵌入器中,您也可以实现它,或者您必须编辑要执行的脚本,以便它们不使用您的嵌入器中不可用的功能。一个更简单的解决方法是加载一个简单的 polyfill 来模拟此类调用,在您的情况下例如:
var accessibilityController = {
accessibleElementById: function() {
return {
decrement: function(){}
}
}
}
在执行导入的测试之前。
没有办法用“纯JavaScript”来写有问题的行,就像没有办法用纯JavaScript来表达document.createElement(...)
——你总是需要浏览器提供一个 document
对象。 (当然,你可以创建一个完整的假 DOM 实现,但它仍然不会绘制到屏幕上,所以这不是一回事。)好的一面是,如果你不知道什么是“ accessibilityController”可能会,那么你可能不需要它。
(现有示例:d8 曾经有一个自定义 print()
函数而不是 console.log
,但我们发现能够 运行 使用 [=17= 的脚本很有用] 而无需手动修改它们,所以我们最终将 console.log
添加到 d8.)