org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.3
com.android.support.test.espresso:espresso-core:2.2.2
工作流:
片段代码:
Integer newsId = 1234;
Intent intent = new Intent(context, NewsDetailsActivity.class);
intent.putExtra(NewsDetailsActivity.ID newsId);
startActivity(intent);
NewsDetailsActivity的java代码:
public class NewsDetailsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
setContentView(R.layout.news_details);
int newsID = 0;
String mainCaption = "";
if (extras != null) {
newsID = extras.getInt(SELECTED_NEWS_ID);
mainCaption = extras.getString(SELECTED_NEWS);
}
titleTextView = (TextView) findViewById(R.id.titleTextView);
mainNewsDetailsContainer = (LinearLayout) findViewById(R.id.mainNewsDetailsContainer);
mainCaptionTextView = (TextView) findViewById(R.id.mainCaptionTextView);
}
当活动开放时,标题为“单个新闻”。 这里截图: enter image description here
所以工作正常。行。
所以我写了Android Espresso测试:
@Test
public void newsDetailsTitle() {
// click on listView item and as result open NewsDetailsActivity
onData(anything()).inAdapterView(withId(R.id.containerNotEmptyListView)).atPosition(NEWS_LIST_POSITION).perform(click());
// test that title of NewsDetailsActivity is "Single news"
onView(allOf(withId(R.id.titleTextView), withText(R.string.news_single))).check(matches(isDisplayed()));
}
它已通过并正常工作。行。
所以现在我们用语言Kotlin重写NewsDetailsActivity。
NewsDetailsActivity的Kotlin代码:
class NewsDetailsActivity : AppCompatActivity() {
@SuppressLint("NewApi")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
verticalLayout {
include<View>(R.layout.toolbar)
find<TextView>(R.id.titleTextView).setText(R.string.single_news)
setSupportActionBar(find<Toolbar>(R.id.toolbar))
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
supportActionBar?.setDisplayShowTitleEnabled(false)
}
}
}
当我开始申请时,所有工作都很好。新闻详情打开并显示标题“单个新闻”。行。
但是当我开始测试时,NewsDetailsActivity的标题现在不是“单个新闻”。它绝对是另一个标题=“ Recomendation ”。
此处截图: enter image description here
结果测试失败。 R.string.news_single 键未更改。
为什么删除新闻的标题会被改变?