Birim testi için db ve Robolectric için Sugar ORM kullanıyorum. Robolectric ile Sugar ORM kullanmak için this sorusunu takip edin.Sugar ORM, birim testi yapılırken her defasında kaydedilecek kayıtlara ihtiyaç duyuyor mu?
Aşağıdaki kodumu başlangıcına yerleştirme startEverTestSugarAppAsFirst yöntemini çalıştırın ve çalıştırın.
İlk kaydın adını yazdırır. Çok uzak çok iyi.
Ancak, //new PersonHandler(new Activity()).insertPeople();
yorumunu yapıp tekrar çalıştırırsam hiçbir kayıt döndürülmez ve boş gösterici istisnası verilir. Sugar ORM'in kayıtları ilk seferde bir yere kaydettiğini ve bu kayıtlara ikinci defa erişebileceğimi düşündüm. Öte yandan
new PersonHandler(this).insertPeople();
Person p = Person.findById(Person.class, 1);
Log.v("person", p.getName());
Yani, Şeker ORM, birim test bittikten sonra db'yi siliyor mu? veya db'yi kaydettiğinde, tekrar tekrar kullanabilirim?
ben db = SQLiteDatabase.openOrCreateDatabase (filePath, null) ile sqlite db kullanabilirsiniz çalıştırmak sıraya bağlı değildir çalıştırılmalıdır olduğu; robolectic birim testinde komut. Şeker ormunu belirtilen bir db yolu ile birleştirmenin bir yolu var mı? – orkan
http://stackoverflow.com/questions/24225541/android-sugar-orm-with-existing-db-custom-file-path –
Bu gönderiyi biliyorum. Ancak cevaplar, emülatörün erişebileceği yerel db/data/data/... klasörünün kopyalanmasıyla ilgilidir. Birim testi için yerel db kullanmam gerekiyor. Çünkü zaten/data/data/... konumunda db var. Ancak birim testindeki şeker orm kodu bu yere bakmaz ve kullanmaz. – orkan