对于使用 jest 的 Angular v12 项目,我刚刚将 jest 更新到版本 28。但是现在,我收到以下错误
\nFAIL src/app/components/update-input/update-input.directive.spec.ts\n\xe2\x97\x8f Test suite failed to run\n\n TypeError: Cannot read property 'html' of undefined\n\n at new JSDOMEnvironment (node_modules/jest-environment-jsdom/build/index.js:72:44)\nRun Code Online (Sandbox Code Playgroud)\n这是我的 tsconfig.spec.json
\n{\n "extends": "./tsconfig.json",\n "compilerOptions": {\n "outDir": "./out-tsc/spec",\n "types": [\n "jest", \n "node",\n "Chrome"\n ],\n "esModuleInterop": true,\n "emitDecoratorMetadata": true,\n "allowSyntheticDefaultImports": true,\n "moduleResolution": "Node",\n "module": "es2020",\n "files": ["src/test.ts", "src/polyfills.ts"],\n "include": ["src/**/*.spec.ts", "src/**/*.d.ts"]\n },\n}\nRun Code Online (Sandbox Code Playgroud)\n和 jest.config.js
\nconst { pathsToModuleNameMapper } = require("ts-jest/utils");\nconst { compilerOptions } = require("./tsconfig");\n\nmodule.exports = {\n …Run Code Online (Sandbox Code Playgroud) 当我尝试单元测试getElement功能时
class BarFoo {
getElement() {
return document.querySelector('#barfoo');
}
}
Run Code Online (Sandbox Code Playgroud)
摩卡什么都不知道document,所以我想你可能会这样做:
beforeEach(() => {
global.document = {
querySelector: () => { ... }
}
}
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但我想知道这是否是正确的方法,并且可能有一个包可以解决这个问题,因为如果使用更多的浏览器API,我的方法会变得费力?
我已经安装了 Playwright vscode 扩展,但是当我进入测试区域时,我收到一条“在此工作区中未找到测试”消息。但当我$> playwright test在 CLI 上运行时,它就像一个魅力。奇怪的是,前段时间它在 VSCode 中运行得很好。
当我单击重新加载图标时,我得到
但几秒钟后我又回到了开始的地方。当我单击蓝色按钮时,我会转到扩展列表
我不太确定我应该在这里安装什么。而且,它在过去已经起作用了。
这是我为 Playwright 安装的扩展:
有什么建议吗?我的 VSCode 中发生了什么?
如果我连接到docker容器
$> docker exec -it my_container zsh
Run Code Online (Sandbox Code Playgroud)
在里面我想要杀死我开始的东西,ctrl+c我注意到它需要永远完成.我已经google了一下,似乎ctrl+c与你期望的有点不同.我的问题,如何ctrl+c在容器内修复?
在我可以运行gulp我的项目之前,我需要运行npm install.这在我的计算机上工作,因为我收到以下错误:
Error: Cannot find module 'socket.io'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
...
Run Code Online (Sandbox Code Playgroud)
我可以解决这个问题
$> npm install socket.io
Run Code Online (Sandbox Code Playgroud)
现在,当我再次执行安装命令时,我得到了
Error: Cannot find module 'di'
...
Run Code Online (Sandbox Code Playgroud)
当我di再次安装并运行install命令时,我得到:
Error: Cannot find module 'log4js'
Run Code Online (Sandbox Code Playgroud)
我认为这可能会持续很长时间.有什么建议在这里发生什么以及如何解决这个问题?
我想从WebSql更改为Indexeddb.但是,如何进行SQL查询
SELECT * FROM customers WHERE ssn = '444-44-4444' and emal = 'bill@bill@company.com'
SELECT * FROM customers WHERE ssn = '444-44-4444' and emal = 'bill@bill@company.com' and age = 30
SELECT * FROM customers WHERE ssn = '444-44-4444' and emal = 'bill@bill@company.com' and name = 'Bill'
etc
Run Code Online (Sandbox Code Playgroud)
使用IndexedDB?例如,我在阅读indexedDb 的文档时注意到,所有示例当时只查询一个索引.所以你可以做到
var index = objectStore.index("ssn");
index.get("444-44-4444").onsuccess = function(event) {
alert("Name is " + event.target.result.name);
};
Run Code Online (Sandbox Code Playgroud)
但我需要同时查询多个索引!
我还发现了一些关于复合索引的有趣帖子,但它们只有在查询复合索引中的所有字段时才有效.
我最近从bash切换到zsh shell.更确切地说,哦-my-zsh 非常好,但是我经常使用的快捷方式; 跳到行的开头/结尾不再起作用了.从文档应该是
ctrl + A --> beginning
ctrl + E --> end
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,我得到以下内容
$~> my-command
$~> my-command^A # did a ctrl + A here
Run Code Online (Sandbox Code Playgroud)
虽然我看到其他人都在工作,但在我的系统中,似乎有些不同.有什么建议吗?
我有一个发布功能如下:
Meteor.publish('tasks', function (name) {
var project = Projects.findOne({name: name});
return Tasks.find({projectId: project._id});
});
Run Code Online (Sandbox Code Playgroud)
现在假设在某些时候对Projects进行了更改,结果是上面的内容Projects.findOne返回一个不同的项目,因此Tasks.find将返回其他任务.但是,对项目所做的更改不会重新发布任务
我已经使用了reactivePublish,但事实证明包有问题(并且没有任何单元测试).那么,是否有一种简单的方法可以在项目更改时重新发布此发布功能?
在我的 Monorepo 里面,我有一个包,我想要它的 node_modules 中的所有依赖项。
但无论我做什么,它的 node_modules 仍然是空的。
因此,出于我的问题的目的,我能够通过以下设置重现该问题
/
package.json
lerna.json
node_modules
packages/
A/
node_modules
package.json
index.ts
B/
node_modules
package.json
index.ts
Run Code Online (Sandbox Code Playgroud)
我为此创建了一个回购!
主包.json
{
"name": "A-B-test",
"private": true,
"workspaces": {
"packages": ["packages/*"],
"nohoist": [ "**/B" ]
},
...
"devDependencies": {
"lerna": "^3.13.4"
}
}
Run Code Online (Sandbox Code Playgroud)
B/package.json 好像
{
"name": "@scaljeri/B",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"angular": "^1.7.8"
},
"devDependencies": {
"browserify": "^16.2.3",
"typescript": "^3.5.2"
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我yarn在项目的根目录中运行时,所有依赖项都安装在根目录中node_modules。
纱线版本:1.16.0 节点:12.4.0
任何建议可能是什么问题?