如果这是一个重复的问题,我道歉.我找不到一个而且不知所措.我的测试无法通过,因为应用程序无法启动.我运行测试并观看模拟器,并使用正常的应用程序(用于单元测试),它将在测试运行后打开和关闭,但是我的"MyAppUITests"应用程序,它看起来已准备好打开并在启动时崩溃这就是为什么我收到Application is not running, unable to get Accessibility data. Did you call -launch消息.
UI测试运行时的控制台:
Test Case '-[FizzBuzzUITests.ViewControllerUITests
testTapNumberButtonIncrementsScore]' started.
t = 0.00s Start Test at 2017-04-10 10:44:25.544
t = 0.00s Set Up
t = 0.01s Tap "numberButton" Button
t = 0.01s Wait for app to idle
t = 0.07s Find the "numberButton" Button
t = 0.08s Wait for app to idle
t = 1.13s Find the "numberButton" Button (retry 1)
t = 1.25s Wait for app to …Run Code Online (Sandbox Code Playgroud) 我有护照设置使用谷歌策略,可以直接到/ auth /谷歌伟大.我目前拥有它,以便当您使用google身份验证oauth2登录时,我的端点将通过检查a进行身份验证req.user.当我刚刚访问浏览器中的端点时,这可以正常工作.如果我去/auth/google,然后/questions,我将能够提出要求.但是当我尝试从redux发出一个获取请求时,我会收到一条错误消息Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0.它出现是因为fetch API试图进入我的/questions端点,通过我的loggedIn中间件,然后不满足if (!req.user)并重新定向.有关如何使用PassportJS和passport-google-oauth2从Fetch API进行身份验证的任何想法?
该loggedIn函数:
function loggedIn(req, res, next) {
if (req.user) {
next();
} else {
res.redirect('/');
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的'GET'端点的代码.
router.get('/', loggedIn, (req, res) => {
const userId = req.user._id;
User.findById(userId, (err, user) => {
if (err) {
return res.status(400).json(err);
}
Question.findById(user.questions[0].questionId, (err, question) => {
if (err) {
return …Run Code Online (Sandbox Code Playgroud)