更新: \n尝试升级到 React 18 和 RTL 13,但这并没有解决问题。
\nuseQuery()
我\xe2\x80\x99m 在测试挂载时调用 Apollo 的 React 组件时遇到了长期问题。如果我使用异步 RTL 方法,GraphQL 查询将失败并出现ECONNREFUSED
错误。如果我使用同步 RTL 方法,我不会收到此错误。但是,同步方法不起作用,因为断言在loading
equals时运行true
时运行。因此,数据尚未从查询中返回,因此没有可呈现的内容。
以下是引发此错误的测试中的代码片段:
\nit(\'renders\', async () => {\n renderGrid()\n const columnHeading = await screen.findByText(/Primary Household Member/i)\n expect(columnHeading).toBeInTheDocument()\n})\n
Run Code Online (Sandbox Code Playgroud)\n我已附上控制台中生成的内容的屏幕截图(见下文)。\n如果我将代码更改为同步,如下所示:
\nit(\'renders\', () => {\n renderGrid()\n const columnHeading = screen.getByText(/Primary Household Member/i)\n expect(columnHeading).toBeInTheDocument()\n})\n
Run Code Online (Sandbox Code Playgroud)\n我没有得到ECONNREFUSED
错误。然而,在这种情况下,loading
istrue
和data …
javascript reactjs create-react-app apollo-client react-testing-library
我正在处理一个使用 AWS Lambda 和 Node.js 的项目。我们将 Docker 容器用于我们的开发环境。
我们当前的设置在端口 :3000 上启动本地 AWS SAM。它运行 start-api 并将函数挂载到我的 template.yml 文件中。我使用邮递员测试这些功能以将 JSON 发送到已安装的 API 端点,如下所示:http : //127.0.0.1 : 3000/ foo
Docker 设置还在 :4000 上启动了一个单独的 Node.js 实例。
如上所述,我可以在本地测试 Lambda 内容。但是,我想激活调试,以便我可以单步执行该函数并检查变量,而不是使用console.log()
. 我不知道如何编辑 Dockerfile / docker-compose.yml 来实现这一点。
这是我的 docker-compose 文件:
version: '3'
services:
web:
build: ./web
container_name: someapp
command: npm run dev
volumes:
- ./web:/usr/app/
- /usr/app/node_modules
ports:
- "4000:4000"
environment:
DATABASE_URL: mongo://someapp:someapp@10.10.62.205:37017,10.10.62.205:37018,10.10.62.205:37019/somedb
sam:
build: serverless/.
container_name: samlocal
command: sam local start-api --host 0.0.0.0 …
Run Code Online (Sandbox Code Playgroud) amazon-web-services dockerfile aws-lambda docker-compose aws-sam-cli
根据 AWS 文档,我将像这样启动本地 SAM:
$ sam local start-api -d 5858
Run Code Online (Sandbox Code Playgroud)
我的 launch.json 中有以下内容
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to SAM Local",
"type": "node",
"request": "attach",
"address": "localhost",
"port": 5858,
"localRoot": "${workspaceRoot}",
"remoteRoot": "/var/task"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是当我启动 Visual Studio 调试器时,它说“无法连接到运行时,请确保运行时处于‘旧版’调试模式”
看起来很多人都在使用 Node.js 6 和 Visual Studio Code 时遇到这个问题,但我似乎找不到答案......我正在使用 Visual Studio Code 版本 1.18.1
我尝试将 "protocol": "Legacy" 添加到 launch.json 配置。我还尝试使用 --debug-port 而不是 -d 。我使用的是 Windows 10。不确定问题是否特定于 Windows。
我怀疑PHP单身人士不是真正的单身人士,所以我做了一个测试.我创建了以下类:
class MySingleton {
private static $instance;
private function __construct()
{
error_log("I am a new instance of MySingleton. I was instantiated at " . time());
}
private function __clone(){}
public static function getInstance()
{
if(!is_object(self::$instance)) {
self::$instance = new MySingleton();
}
return self::$instance;
}
}
Run Code Online (Sandbox Code Playgroud)
接下来我创建了一个名为test.php的文件:
require('MySingleton.php');
$foo = MySingleton::getInstance();
$bar = MySingleton::getInstance();
$baz = MySingleton::getInstance();
Run Code Online (Sandbox Code Playgroud)
当我在我的localhost上运行test.php脚本时,我在Apache错误日志中得到一个条目,这使它看起来像它应该做的那样.但是,每次我在浏览器中刷新页面时,我都会在错误日志中获得另一个条目,这意味着PHP正在实例化一个新对象.
有什么我可以做的不同,使这个类返回一个持久的对象的单个实例?(即单身人士应该做什么).
请不要回答你认为单身人士不好的所有原因.我已经熟悉那些谈话要点了.
提前致谢!
我有一个 React 上下文提供程序。我用JS写的,现在用TS重写。我很难让这些类型正常工作。上下文被初始化为未定义。稍后它会设置一个action
属性,该属性可以是 any ActionCreator
,也可以是一个args
属性,该属性可以是 any Action
。我尝试了几种不同的方法,但就像打地鼠一样。这就是我目前所拥有的:
import { createContext, FC, PropsWithChildren, useState } from 'react'\nimport { Action, ActionCreator } from 'redux'\nimport { Dispatch, SetStateAction } from "react";\n\ntype ModalStateT = {\n action: ActionCreator<any> | undefined\n args: Action | undefined\n}\n\ntype ModalContextT = {\n modalState: ModalStateT\n setModalState: Dispatch<SetStateAction<ModalStateT>>\n resetModalState: ({action, args}: ModalStateT) => void\n}\n\nexport const ModalContext = createContext<ModalContextT | undefined>(undefined)\n\nconst ModalProvider: FC<PropsWithChildren> = ({ children }) => {\n\n const defaultState = {\n action: undefined,\n args: …
Run Code Online (Sandbox Code Playgroud) aws-sam-cli ×2
reactjs ×2
aws-lambda ×1
debugging ×1
dockerfile ×1
javascript ×1
php ×1
react-redux ×1
redux ×1
singleton ×1
typescript ×1