小编ann*_*piv的帖子

打破长if语句的推荐方法是什么?(二元运算符后的 W504 换行符)

目前推荐的用“and”和“or”运算符打破一长串if语句的推荐方法是什么?

第一个选项

使用下面的样式(来自 PEP8)和 flake8 我收到警告:二元运算符后的 W504 换行符:

if (this_is_one_thing and
    that_is_another_thing):
    do_something()
Run Code Online (Sandbox Code Playgroud)

第二个选项

if (this_is_one_thing
    and that_is_another_thing):
    do_something()
Run Code Online (Sandbox Code Playgroud)

现在我在二元运算符之前收到警告 W503 换行符。第二个似乎符合PEP8 的这个建议

我试图找到答案,但我仍然不确定。我认为也许使用第二个选项并禁用 W503 警告将是处理此问题的一种方法?

python pep8 python-3.x flake8

25
推荐指数
2
解决办法
1万
查看次数

使用react-query和axios测试React组件中的错误时出现问题。使用 React 测试库、Jest、msw 进行测试

我测试了一个反应组件,它应该显示旋转器、错误或获取的食谱列表。我设法测试该组件的加载以及何时成功获取数据。我遇到测试错误的问题。我使用 msw 创建了测试服务器,它具有返回错误的路由处理程序。我使用 axios 向服务器发出请求。我认为问题出在这里:axios 发出 3 个请求,直到最后一个响应 useQuery 返回 isLoading=true, isError=false。仅此后才返回 isLoading=false, isError=true。因此,在我的错误测试中, screen.debug() 显示微调器,并且 errorMessage 返回错误,因为它找不到带有文本“error”的渲染元素,该组件应该在发生错误时显示。对此我能做什么?我没有主意了。


编辑:

  • 我发现 useQuery 中有一个设置,“重试”,默认为 3 个请求。我仍然不知道如何处理测试中的组件重试请求。

我是反应测试和打字稿的新手。

来自 RecipeList.test.tsx:

import { setupServer } from 'msw/node';
import { rest } from 'msw';
import { QueryClient, QueryClientProvider, QueryCache } from 'react-query';

import RecipeList from './RecipeList';

const server = setupServer(
  rest.get(`${someUrl}`, (req, res, ctx) =>
    res(ctx.status(200), ctx.json(data))
  )
);

const queryCache = new QueryCache();
const RecipeListWithQueryClient = () => {
  const client = new QueryClient(); …
Run Code Online (Sandbox Code Playgroud)

mocking typescript reactjs react-testing-library msw

0
推荐指数
1
解决办法
1万
查看次数