我正在尝试使用酶对使用JqxComboBox的React组件(在TypeScript中)进行完整的DOM测试,但是一旦我尝试使用完全mount()而不是shallow(),它就不会加载正确地。在我看来,jQWidgets并未将jsdom视为真正的Web环境,因此不会加载。我可能配置了错误的测试,但没有得到jsdom应该是那种狡猾的印象。
这是我的代码沙箱演示的问题:https://codesandbox.io/s/jqwidgets-react-enzyme-testing-vrjvw
通过单击右上方的“测试”选项卡可以看到问题。我是酶和React的新手,所以我可能做错了。我尝试过各种方法,但无济于事。也许jQWidgets无法以这种方式进行单元测试(可悲的是,它们对主题没有任何帮助)。我几乎是在考虑应该选择其他UI工具包,但是我不愿意这样做,而又不想挽救局面。
(PS。我已经考虑过React Testing库,但是我绝对无法使用该库访问React组件,因为它是“仅DOM或迷路”,这对于第三方UI来说并不令人满意库)
我得到的确切错误是:
_this._jqx.generateID is not a function
TypeError: _this._jqx.generateID is not a function
at new JqxComboBox