我再次尝试获取'no-restricted-syntx to work'
。我没有使用Prevent screen.findByX without an await with eslint no-restricted-syntax?,但我有另一个需要它的场景。我注意到我们遇到了一些与类似问题相关的问题,解释如下:
不应该在test()/it()块之外进行渲染,因为JSDOM env是全局的(在测试之间共享),并且内部describe()中的清理操作正在清理DOM。
我有这样的代码:
beforeEach(async() => {
render(<MyLovelyComponent />);
await waitForElementToBeRemoved(() => screen.getAllByText('dddd'));
});
我想对这里使用的screen
发出警告/错误。
我尝试编写'no-restricted-syntax'
选择器,也是基于How to forbid a specific named function with ESlint中的一些内容,如下所示:
'no-restricted-syntax':[
'error',
{
message: 'No screen outside of it',
selector: `FunctionCall[name!="it"] MemberExpression[object.name="screen"]`
},
],
以下是我目前的尝试:
https://astexplorer.net/#/gist/53f841902242b436121b51ab4673344f/320bfaf0ac537c90fd501a0a969c79c1bb23f838
但似乎没有效果。
我哪里做错了?
1条答案
按热度按时间qyzbxkaa1#
在写这篇文章的时候,我仔细检查了AST Explorer,得出了:
我仍然没有办法在不涉及
beforeEach
的情况下以其他方式阻止,但这是一个开始!