6
是否可以使用Butterknife爲測試類注入視圖?視圖被注入到由MainActivity類創建並提交的片段中。是否有可能使用Butterknife在Android中注入espresso Test clases中的視圖?
這裏是我的測試類的代碼:
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
private MainActivity mMainActivity;
private Button learnButton;
private Button teachButton;
@SuppressWarnings("deprecation")
public MainActivityTest() {
super("com.example.application.app", MainActivity.class);
}
protected void setUp() throws Exception {
super.setUp();
mMainActivity = getActivity();
learnButton = (Button) mMainActivity.findViewById(R.id.buttonLearn);
teachButton = (Button) mMainActivity.findViewById(R.id.buttonTeach);
}
但是我用Butterknife注入在我的片段中的觀點:
public class ChooseActionFragment extends Fragment {
@InjectView(R.id.buttonTeach) Button buttonTeach;
@InjectView(R.id.buttonLearn) Button buttonLearn;
public ChooseActionFragment() { }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
ButterKnife.inject(this, rootView);
return view;
}
我想知道我怎麼能使用Butterknife來在我的測試中減少我的樣板代碼,就像我在生產代碼中一樣。
這並不爲我工作。每次嘗試訪問任何視圖時,我都會得到NPE。我嘗試過'ButterKnife.inject(this,activity);'和'ButterKnife.inject(this,fragment.getView())'。 – psyren89