Jest 无法从 jQuery 返回值

问题描述

如果 jQuery 选择器返回 0,我需要 jest 测试失败。所以如果有错字,测试应该失败。

这是我的 index.js:

fs = 256  # sample freq - number of samples per second
k  = 11
window = np.array([0] * 64 + [1] * k + [0] * 64)
freq = fft(window)

plt.stem(fftfreq(len(freq),1/fs),np.abs(freq),'r')
plt.show()
plt.stem(fftfreq(len(freq),np.angle(freq),'r')
plt.xlim([-30,30])
plt.show()

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

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

如果我运行 console.log(sample.length),它会在浏览器控制台上返回 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');
});

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...