您如何使用Karma Runner(ex-Testacular)e2e场景运行器在e2e测试中集成异地/外部应用程序/外部资源工作流程?
基本情景:
http://service/submit或等等).我不是问"你如何存根提供者X".我问你如何实际端到端测试 - 所以我们的测试实际上可以捕获第三方服务API的变化.我基本上希望能够推出一个应用程序外的网站,类似于你能够使用像Selenium的Webdriver这样的东西.
目前我的问题是element( ref ).click()用于尝试第2步,它似乎没有加载所需的网站,因此没有DOM可以采取行动,无法完成e2e.
我看到的问题是,当您使用规范的"自定义"指南将Stripe Checkout加载到页面中,对其进行配置,然后打开和关闭它几次,浏览器内存使用量会不断跳跃.有时,sorta会稍微释放,但残留总是会增长.在一个长期存在的页面/ SPA上,最终会有东西爬行.
--enable-precise-memory-info标记启动Google Chrome (无论是否带有此标记,都会出现问题)stripeInstance.open(cfg)),摆弄弹出窗口,关闭.您可以使用memory-stats.js或仅在(Chrome)控制台中运行来观看内存:
performance.memory.usedJSHeapSize
Run Code Online (Sandbox Code Playgroud)
我确信这必须是"我"而不是条纹.他们不会泄漏如此糟糕的事件open和close事件吗?
编辑:这是一个JS小提琴,它可以复制他们的演示代码:https://jsfiddle.net/p1Lfuewt/
还有一个5秒间隔的内存屏幕截图,基本上只需点击"购买"即可打开和关闭它们的小部件(不知道那个承诺错误是什么,就是这些):
你如何输入一个可以同时拥有几个声明的可选属性的对象,例如:
{
hello?: string,
moo?: boolean
}
Run Code Online (Sandbox Code Playgroud)
以及自定义属性(必须是函数),例如:
[custom: string]: (v?: any) => boolean
Run Code Online (Sandbox Code Playgroud)
这是我希望看到的,例如:
const myBasic: Example = {moo: false}
// -> ? Valid! Using known keys
const myValid: Example = {hello: 'world', customYo: () => true}
// -> ? Valid! "customYo" is a function returning a bool. Good job!
const myInvalid: Example = {hello: 'world', customYo: 'yo!'}
// -> ?? Invalid! "customYo" must be a function returning a boolean
Run Code Online (Sandbox Code Playgroud)
尝试将索引签名添加到具有已知键的接口(即hello?: string, moo?: boolean)需要所有键都是索引签名类型的子集(在这种情况下,返回 …
基本问题是"如何将ZeroMQ REPLY套接字设置为工作者?".
实际上,如何使用具有ZeroMQ REPLY服务器的HTTP服务器替换默认示例,例如:
var cluster = require('cluster'),
zmq = require('zmq');
if (cluster.isMaster) {
cluster.fork();
cluster.fork();
}
else {
// Using `http.createServer(..).listen(5555);` works perfectly
// However, the following does not:
var socket = zmq.socket('rep');
socket.bind( "tcp://*:5555", function (err) { console.log(process.pid, err); } );
}
Run Code Online (Sandbox Code Playgroud)
第一个worker记录'undefined'(即没有错误),而第二个worker记录错误:Address already in use.
从" 工作原理 "文档来看,这里似乎合适的一点(重点补充):
当您调用
server.listen(...)worker时,它会序列化参数并将请求传递给主进程.如果主进程已经具有与工作者要求匹配的侦听服务器,则它将句柄传递给工作者.如果它还没有匹配该要求的侦听服务器,那么它将创建一个,并将句柄传递给worker.
如何"匹配要求"与ZeroMQ REPLY插座?
javascript ×3
angularjs ×1
karma-runner ×1
memory-leaks ×1
node.js ×1
sockets ×1
typescript ×1
zeromq ×1