Android测试教程12--模拟读取的文件/数据库

有时我们需要对文件或数据库进行测试,但我们又不想破坏应用程序或设备原有的数据。
此时我们就需要一个Mock来替代他们,这里的Mock不是android.test.mock,
但也是android.test包下面的,RenamingDelegatingContext的类。

首个先我们创建一个应用,功能很简单就是读取该应用目录下的一个txt文件内容,并展示到应用的上。

public class MainActivity extends BaseActivity {

    private TextView mTv;
    public final static String FILE_NAME = "data.txt";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTv = (TextView) findViewById(R.id.tv);

    }


    @Override
    protected void onStart() {
        super.onStart(); 
        loadText();
    }

    private void loadText() {   
        try {
            FileInputStream fis = openFileInput(FILE_NAME);
            int size = fis.available();
            byte[] buffer = new byte[size];
            fis.read(buffer);             
            mTv.setText(new String(buffer, 0, size));
            fis.close();
        } catch (Exception e) {
            mTv.setText(e.toString());
            mTv.setTextColor(Color.RED);
        }
    }

   public String getText(){
        return mTv.getText().toString();
    }
}

运行一下,此时我们的包目录下没有data.txt,页面显示的可能是个错误。

OK,然后我们创建两个文件。

一个名为data.txt,一个 mock.data.txt
请先按这个名字写,后面有解释!!
前者用于应用中显示的文件内容,后者是作为测试Mock调用的。

echo "data" >data/data/com.example.test.mockeample/files/data.txt
echo "mock_data">data/data/com.example.test.mockeample/files/mock.data.txt

再次运行下,应该可以看到Activity上显示的是data

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值