小编Tom*_*ang的帖子

如何使用属性对自定义视图进行单元测试

我无法为我的自定义视图创建单元测试。我尝试添加一个属性并测试它是否我的自定义视图类正确。

这是我的测试的样子:

@RunWith(AndroidJUnit4.class)
@SmallTest
public class BaseRatingBarMinRatingTest {

    private Context mContext;

    @Before
    public void setUp(){
        mContext = InstrumentationRegistry.getTargetContext();
    }

    @Test
    public void constructor_should_setMinRating_when_attriSetHasOne() throws Exception{
        // 1. ARRANGE DATA
        float minRating = 2.5f;
        AttributeSet as = mock(AttributeSet.class);
        when(as.getAttributeFloatValue(eq(R.styleable.BaseRatingBar_srb_minRating), anyFloat())).thenReturn(minRating);


        // 2. ACT
        BaseRatingBar brb = new BaseRatingBar(mContext, as);


        // 3. ASSERT
        assertThat(brb.getMinRating(), is(minRating));
    }

  // ...

}
Run Code Online (Sandbox Code Playgroud)

哪个得到这个异常:

java.lang.ClassCastException: android.util.AttributeSet$MockitoMock$1142631110 cannot be cast to android.content.res.XmlBlock$Parser
Run Code Online (Sandbox Code Playgroud)

我尝试像本文那样模拟 TypeArray ,但我的观点将模拟的上下文视为 null。

有没有什么好方法可以为自定义视图创建测试用例?

android mockito custom-view android-testing

8
推荐指数
2
解决办法
3096
查看次数

Heroku 不安装requirements.txt 中列出的任何内容

我不是一个以英语为母语的用户,而且我是一个 Python 初学者。请原谅任何语法错误。

我在将一个简单的 Flask 项目推送到 Heroku 时遇到问题。

该项目位于Github上

首先,我的requirements.txt如下所示:

click==6.7
Flask==0.12.2
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
Werkzeug==0.12.2
Run Code Online (Sandbox Code Playgroud)

但是,Heroku 返回错误代码

click==6.7
Flask==0.12.2
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
Werkzeug==0.12.2
Run Code Online (Sandbox Code Playgroud)

我已在 venv 和全局环境中成功运行该项目,并./venv/bin/pip freeze在 venv 激活和停用模式下多次运行该命令。./venv/bin/pip -r install requirements.txt在新的venv中可以正常工作。

我不确定我哪一步做错了。任何建议都会有所帮助。

谢谢。

python heroku flask

6
推荐指数
1
解决办法
2377
查看次数

标签 统计

android ×1

android-testing ×1

custom-view ×1

flask ×1

heroku ×1

mockito ×1

python ×1