它过2次周以来我学习咖啡,我无法把握intending和intended.什么时候使用intending和intended?提供的示例和在线教程没有帮助,研究网络对我造成的伤害大于好处.
在语义上,为了智力参考,为什么它intend-ing和另一个intended,这更加增加了混乱.这是另一个谷歌命名错误还是仅仅是我?这两种方法真的没有意义.
我误解了它的用法.我想测试我的活动是否A启动了活动B.而已.这是我的代码:
@Test
public void shouldLaunchTagListActivity()
{
onView(withId(R.id.edittext_description_minimized))
.perform(click());
onView(withId(R.id.linearlayout_add_note_maximize))
.check(matches(isDisplayed()));
onView(withId(R.id.relativelayout_quick_action_button))
.check(matches(isDisplayed()));
onView(withId(R.id.imagebutton_tag))
.perform(click());
// should I intended or intending here?
// ???
intended(toPackage(HomeScreenActivity.class.getName()));
onView(withId(R.id.coordinatorlayout_tag_list))
.check(matches(isDisplayed()));
}
Run Code Online (Sandbox Code Playgroud)
即使我用错误的目标取代意图,这个测试总是通过.
我可以通过检查我的目标视图是否存在并且是否被用户看到来检查是否已启动其他活动.但现在我将运行一个不同的用户故事,我真的需要检查活动是否发送了请求以启动另一个活动(我的活动,而不是外部).
非常感谢任何解释!
我对泛型有疑问.
我在一个类中有这个片段(让我们称之为案例1):
static {
final List<Class<? extends A>> typeList = Arrays.asList(
C.class,
D.class
);
}
Run Code Online (Sandbox Code Playgroud)
和
public interface A {…}
public class C extends B {…}
public class D extends B {…}
public abstract class B implements A {…}
Run Code Online (Sandbox Code Playgroud)
Android Studio抱怨并且它不在final List…上面的行上编译:
不兼容的类型
必需列表< Class <?延伸A> >
实测值列表< 类<?扩展B >>
但是,之前我有这个代码(让我们称之为案例2):
static {
final List<Class<? extends A>> typeList = Arrays.asList(
C.class,
D.class
);
}
Run Code Online (Sandbox Code Playgroud)
和
public interface A {…}
public class C implements A {…}
public class D …Run Code Online (Sandbox Code Playgroud)