小编Ale*_*son的帖子

开玩笑:在setImmediate或process.nextTick回调中测试不会失败

我正在尝试为需要在其componentWillMount方法中完成异步操作的React组件编写测试。componentWillMount调用作为prop传递的函数,该函数返回promise,然后在测试中模拟该函数。

这可以正常工作,但是如果在调用setImmediate或时测试失败process.nextTick,则Jest不会处理该异常,并且该异常会过早退出。在下面,您可以看到我什至试图捕获此异常,但无济于事。

我如何使用像setImmediate或者nextTick用玩笑?这个问题的公认答案是我试图实现失败的目标:React Enzyme-Test`componentDidMount` Async Call

it('should render with container class after getting payload', (done) => {
  let resolveGetPayload;
  let getPayload = function() {
    return new Promise(function (resolve, reject) {
      resolveGetPayload = resolve;
    });
  }
  const enzymeWrapper = mount(<MyComponent getPayload={getPayload} />);

  resolveGetPayload({
    fullname: 'Alex Paterson'
  });

  try {
    // setImmediate(() => {
    process.nextTick(() => {
      expect(enzymeWrapper.hasClass('container')).not.toBe(true); // Should and does fail
      done();
    });
  } catch (e) …
Run Code Online (Sandbox Code Playgroud)

node.js jasmine reactjs jestjs

5
推荐指数
2
解决办法
6181
查看次数

Python Flask - 使用装饰器设置 cookie

我正在尝试编写一个装饰器来检查 cookie,如果它不存在则设置一个。这是我不顾一切地试图传达这个想法。

def set_cookie(f):
    def decorated_function(*args, **kws):
        if 'cstc' in flask.request.cookies.keys():
            return make_response(f).set_cookie('cstc', value='value')
        else: 
            return f
    return decorated_function

@main.route('/home')
@set_cookie
def home():
    return render_template('main/home.html')
Run Code Online (Sandbox Code Playgroud)

现在我收到错误:

TypeError: home() takes no arguments (2 given)
Run Code Online (Sandbox Code Playgroud)

python cookies flask

3
推荐指数
1
解决办法
1036
查看次数

标签 统计

cookies ×1

flask ×1

jasmine ×1

jestjs ×1

node.js ×1

python ×1

reactjs ×1