reactjs – 如何使用jest测试React类中渲染以外的函数?

前端之家收集整理的这篇文章主要介绍了reactjs – 如何使用jest测试React类中渲染以外的函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在我正在构建的React应用程序上执行一些TDD.使用jest我能够测试我的渲染函数,看看我是否得到了我期望渲染的东西.如果我想在课堂上测试其他一些功能怎么办?我该如何掌握它?例如,这是一个React类:
  1. var moment = require('moment');
  2. var React = require('react');
  3. var utils = require('./utils');
  4.  
  5. module.exports = React.createClass({
  6. days: function() {
  7. var days = [];
  8. var nextMonth = this.daysFromNextMonth(days,numberOfDays);
  9. return days;
  10. },daysFromNextMonth: function(days,numberOfDays) {
  11. ...
  12. },render: function() {
  13. var that = this;
  14. var days = this.days().map(function(day,i) {
  15. return <li key={day}>{day}</li>
  16. return (
  17. <ul className='monthly-view'>
  18. {days}
  19. </ul>
  20. );
  21. }
  22. });

我想抓住我的日子或daysFromNextMonth函数,看看他们是否正在返回我期望的内容.我试着开玩笑地抓住这个函数

  1. it('should show an render',function() {
  2. var result = DailyView.daysFromNextMonth(day,10)
  3. ....
  4. });

我的错误说我没有方法daysFromNextMonth.我该如何解决

您需要渲染组件以在其上引用方法(类似于在使用实例方法之前实例化类):
  1. var view = TestUtils.renderIntoDocument(<DailyView />)
  2. var result = view.daysFromNextMonth(day,10)

然后,您可以调用任何实例方法.

猜你在找的React相关文章