“我有一個(gè)房間數(shù)據(jù)庫,它正常工作,我現(xiàn)在想測試它,但我的測試不起作用,運(yùn)行時(shí)我沒有看到任何斷言。在這段代碼中,我添加了一條新記錄并對(duì)其進(jìn)行了初始化,然后斷言如果添加記錄”@RunWith(AndroidJUnit4.class)public class PatientDaoTest {private PatientDao patientDao;private PatientDatabase db;public int patient_db_ID;public int bed_number;@Beforepublic void createDb(){Context context = ApplicationProvider.getApplicationContext();db = Room.inMemoryDatabaseBuilder(context, PatientDatabase.class).buil();patientDao = db.patientDao();}@Afterpublic void closeDb() throws IOException {db.close();}@Testpublic void InsertNewPatient() throws Exception {PatientRecordEntity newPatient = new PatientRecordEntity();newPatient.setPatient_db_ID("123456");newPatient.setPatient_race("chines");newPatient.setBed_number("123");newPatient.setReal_bed_number("1234");newPatient.setRegister_date("5/28/2019");newPatient.setRegister_time("3:35:02");newPatient.setPatient_age(12);newPatient.setPatient_gender(1);boolean pin = false;int newRowId = 0;newRowId = (int) db.patientDao().addNewPatient(newPatient);if(newRowId == 0){pin= true;}assertTrue("test is true",pin);}}“這是我的 Dao 查詢:”@Insertlong addNewPatient(PatientRecordEntity newPatient);“這是使用此 dao 查詢的函數(shù)。如果我的@test 為真,我不會(huì)拒絕”public static int AddPatientToDB() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());String formatedDate = sdf.format(new Date());sdf = new SimpleDateFormat("HH-mm-ssZ", Locale.getDefault());String formatedTime = sdf.format(new Date());PatientRecordEntity newPatient = new PatientRecordEntity();newPatient.setBed_number(bed_no);newPatient.setPatient_db_ID(patient_id);newPatient.setRegister_time(formatedTime);newPatient.setRegister_date(formatedDate);}
2 回答

慕容3067478
TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
您有 3 種選擇來運(yùn)行您的測試
1)在菜單中運(yùn)行 - >運(yùn)行 - >選擇你的測試而不是應(yīng)用程序
2) Alt + Shift + F10。它將打開運(yùn)行菜單
3) 在此菜單中單擊您的測試
如果要運(yùn)行 your_project 的所有測試,請(qǐng)右鍵單擊“test”或“androidTest”文件夾,然后選擇“Run tests in”“your_project”

一只名叫tom的貓
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
“謝謝......根據(jù)你的指南,測試是正確的,我只是修改斷言:”
boolean pin = false;
int newRowId = 0;
newRowId = (int) patientDao.addNewPatient(newPatient);
newPatient.setPid(newRowId);
if(0 != newRowId){
pin= true;}
assertTrue("addNewPatient is not true",pin);
“并且測試通過了:))”
添加回答
舉報(bào)
0/150
提交
取消