gpt4 book ai didi

java - Android 中 Mimetype 的单元测试用例

转载 作者:行者123 更新时间:2023-12-01 08:45:33 25 4
gpt4 key购买 nike

我最近在android中编写测试用例,我想编写从url获取Mimetype的测试用例。在应用程序模式下工作正常,但在测试用例中不起作用,我尝试了不同的方法,但没有获得测试用例通过,请告诉我哪里出错了。任何人都可以帮助我,提前致谢。

这是我的代码:MainActivity.java

    public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url = "www.toyota.com/content/ebrochure/2018/avalon_ebrochure.pdf";
getContentType(pdf);
}

// get mimetype from the url
public String getContentType(String url) {
String type = "";
String extension = MimeTypeMap.getFileExtensionFromUrl(url);
if (extension != null) {
type =MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase());
}
return type;
}
}

MainActivityTest.java

import org.junit.Test;
import static junit.framework.Assert.assertEquals;
public class MainActivityTest {
String url = "www.toyota.com/content/ebrochure/2018/avalon_ebrochure.pdf";
@Test
public void getContentType(){
String result = (new MainActivity()).getContentType(url);
assertEquals("application/pdf", result);
}
}

输出:

junit.framework.ComparisonFailure: 
Expected :application/pdf
Actual :

最佳答案

如果您在运行测试时使用 Robolectric 模拟 Android 环境,则需要自行注册媒体类型。默认情况下,模拟的 MimeTypeMap 为空。

shadowOf(MimeTypeMap.getSingleton()).addExtensionMimeTypMapping("pdf", "application/pdf");

关于java - Android 中 Mimetype 的单元测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44943010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com