标签: turbolinks-ios

在rails测试上设置自定义用户代理

我正在使用turbolinks-ios和Rails变体开发iOS应用程序.

在我的iOS应用程序,我设置自定义用户代理iPadApp和检测on Rails的application controller使用request.user_agent.try(:index, 'iPadApp')设置varianttablet(因为观点一样foo.html+tablet.haml).

我的应用程序工作正常,现在我正在尝试为我的应用程序编写功能测试,但无法正确设置用户代理.我试过这篇帖子实际上是stackoverflow但是我发现它没有设置request.user_agent而是用(page.driver.browser.header(key, value))设置查询参数request.params.

在我的控制器测试中,我只是request.user_agent = 'iPadApp'用来设置工作正常的用户代理.

如何配置测试请求以便我可以使用request.user_agent.try(:index, 'iPadApp')

谢谢你的帮助.

ruby-on-rails capybara turbolinks rspec3 turbolinks-ios

6
推荐指数
1
解决办法
3269
查看次数

符合协议 - 一次又一次地添加协议存根并不能修复错误

所以我有 FBViewController 类,它应该显示一个按钮让我登录和注销(只是为了测试 FB 登录)。我将它集成到新创建的项目中并且一切正常。然后我将它重新设计到我的应用程序中,但它不起作用。不确定它是否与 swift 版本或其他...使用 Xcode 10.0

import UIKit
import FBSDKLoginKit

class FBViewController: UIViewController, FBSDKLoginButtonDelegate {


    override func viewDidLoad() {
        super.viewDidLoad()
        let btnFBLogin = FBSDKLoginButton()
        btnFBLogin.readPermissions = ["public_profile", "email"]
        btnFBLogin.delegate = self
        btnFBLogin.center = self.view.center
        self.view.addSubview(btnFBLogin)

        if FBSDKAccessToken.current() != nil{
            print("Logged IN ALREADY")
            printInfo()
        }else{
            print("not logged in")
        }

    }

    func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
        if error != nil{
            print(" error")
      //      print(error.localizedDescription)
        }else if result.isCancelled {
            print("User cancelled.")
        }
        else {
            print("Logge …
Run Code Online (Sandbox Code Playgroud)

xcode facebook-ios-sdk swift turbolinks-ios xcode10

2
推荐指数
1
解决办法
662
查看次数