我正在尝试在Android上编写Expresso Test来验证TextView内容。 当我从资源中读取文本时,它可以正常工作
@Test
public void changeText_newActivity() {
onView(withId(R.id.mainContent)).check(matches(withText("Hello World!")));
}
以上是使用浓缩咖啡的测试 下面是Android活动的代码
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mainContent"
android:text="@string/hello_world"
/>
但是当我使用硬编码文本替换文本而不是引用资源时,测试失败并且错误无法在视图层次结构中找到视图
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mainContent"
android:text="Hello world!"
/>
以下是运行测试时的错误
android.support.test.espresso.NoMatchingViewException:找不到层次结构中的视图匹配:with text:是“Hello world!”
提前感谢您的帮助。
答案 0 :(得分:2)
Code "Hello world!"
^
Test "Hello World!"
看到区别? W
和w
不一样。
Espresso理所当然地找不到这样的观点,因为没有任何东西。
答案 1 :(得分:0)
使用以下代码
import numpy as np
import scipy as sp
import scipy.stats as stats
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.get_backend()
from scipy.optimize import curve_fit
%matplotlib inline
f = open('50Hz15kO.txt') #raw data
header = f.readline()
time = np.zeros(115)
vcap = np.zeros(115)
vso = np.zeros(115)
udata = np.zeros(115)
i = 0
for line in f:
line = line.strip()
columns = line.split()
for i in range(115):
vcap[i] = float(columns[1])
time[i] = float(columns[0])
vso[i] = float(columns[3])
udata[i] = vcap[i]*0.02
i = i + 1
在某些情况下,eqaulIgnoreCase也是更好的选择。