Jest 无法从 jQuery return 值

Jest unable to return value from jQuery

如果 jQuery 选择器 returns 0,我需要开玩笑的测试失败。所以如果有错字,测试应该失败。

这是我的 index.js:

const sample = $('.someClass');
module.exports = sample;

这是我的 index.test.js 文件的样子:

window.$ = window.jQuery = require('jquery');
const sample = require('./index');

 test('test for selector', () => {
   expect(sample.length).toBe(1);
 });

如果我 运行 a console.log(sample.length),它 returns 在浏览器控制台上为 1,但在开玩笑时始终为 0。有人可以帮我解决这个问题吗?

现在我设法解决了如下问题:

const sampleClassName = '.someClass';
const sample = $(sampleClassName); // For later usage
module.exports = sampleClassName;

并且在测试文件中:

window.$ = window.jQuery = require('jquery');
const sampleClassName = require('./index');

test('test for selector', () => {
  expect(someClassName).toBe('.someClass');
});

所以这暂时解决了我的问题,但如果知道是否存在更好的解决方案仍然很棒。