Flickrでフォロワー稼ぎ目的で大量フォローして、すぐにフォローを外す外人ユーザーがせこいと思ったので、被フォロー状態を確認するツールを作りました。
使い方も書いたのですが、ソースコードも短いのでそちらを見た方がわかりやすいかもしれません。
Mac初心者なので、El CapitanとかSierraとか言われてもよくわからないのですが、とりあえず今使っているSierraとsqlite3 1.3.11の組み合わせが良くないらしく、引っかかったのでメモ。
“Mac OS"ではなくて、"macOS"なんですね。
macOS 10.12 Sierra
ruby 2.3.3p222
sqlite3 1.3.11
sqlite3 1.3.11をbundleでインストールした後、rails t
を実行すると、最初の数回は正常に動いたが、その後以下のようなエラーを吐くようになった。
/Users/XXX/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:27: [BUG] Segmentation fault at 0x00000000000110 ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] -- Crash Report log information -------------------------------------------- See Crash Report log file under the one of following: * ~/Library/Logs/CrashReporter * /Library/Logs/CrashReporter * ~/Library/Logs/DiagnosticReports * /Library/Logs/DiagnosticReports for more details. Don't forget to include the above Crash Report log file in bug reports. ...
sqlite3を1.3.12以降のものにする。
私の場合はGemfileで1.3.12を指定してbundle update
する事でうまくいきました。
それでもうまくいかない場合は、下記リンクのようにいったんgemを削除して、brew
経由でsqlite3を持ってくる方法もあるみたいです。
Segmentation fault with sqlite3 and Rails console on macOS Sierra · Petros Amiridis
View ControllerのUIテストはともかく、ユニットテストはどうするのかわからなかったので調べました。Swift 3です。
class MapViewControllerTests: XCTestCase { var mapViewContoller : MapViewController? override func setUp() { super.setUp() let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main) mapViewController = storyboard.instantiateInitialViewController() UIApplication.shared.keyWindow?.rootViewController = mapViewController let _ = mapViewController.view } }
let _ = mapViewController.view
とするのが肝心で、一度view
プロパティをよんであげることでViewDidLoad()
などが呼ばれ、正しくView Controllerが準備されます。
後は普通のユニットテスト同様です。