问题描述
我正在尝试使用玩笑来为react.js函数组件创建e2e测试。
-
Login.js
-登录要测试的组件
...
import { api } from '../helpers/api'
...
const Login = () => {
...
const onLogin = () => {
...
api.post('/auth',{ email: email.value,password: password.value }).then(res => {
...
},(err) => {
...
})
}
...
}
-
api.js
import axios from 'axios'
...
var instance = axios.create({
baseURL: API_ENDPOINT,timeout: 10000,headers: {}
})
export const api = instance
- Login.test.js
import axios from 'axios'
import MockAdapter from 'axios-mock-adapter'
...
describe('Check login form submit',() => {
test('Login form with invalid email and password',async () => {
const mock = new MockAdapter(axios)
mock.onPost(API_ENDPOINT + '/auth').reply([401,{error: 'INVALID_LOGIN'}])
await page.type('#inputEmail','test@gmail.com')
await page.type('#inputPassword','123456789')
await page.click('#btnLogin')
await page.waitForSelector('.alert.alert-danger')
...
},timeout)
}
但是当我运行npm run test
时,登录组件会使用实际的api而不是模拟的。
我正在使用玩笑,木偶戏和axios-mock-adapter。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)