Can Butterknife be used for injection in sight for a test class? Views are injected into the fragment that is created and passed by my MainActivity class.
Here is the code from my test class:
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); }
However, I use Butterknife to enter the views in my snippet:
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; }
I want to know how I could use Butterknife to reduce my template code in my tests, as well as in my production code.
source share