切换到AndroidX
并弃用了import androidx.test.InstrumentationRegistry
如果我进行下一次导入:import androidx.test.platform.app.InstrumentationRegistry
我不能getContext()
例如:
val context = InstrumentationRegistry.getContext()
在build.gradle中:
androidTestImplementation 'androidx.test.ext:junit:1.0.0-beta02'
androidTestImplementation 'androidx.test:runner:1.1.0-beta02'
答案 0 :(得分:17)
在使用Android X时,需要确保应用的build.gradle文件中包含以下内容
androidTestImplementation 'androidx.test:core:1.1.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
第二个是确保您在测试中使用正确的AndroidJUnit4。
请确保您都导入了这两个。
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
现在,您可以使用下面显示的行来代替使用val context = InstrumentationRegistry.getContext()
val context = InstrumentationRegistry.getInstrumentation().getTargetContext()
答案 1 :(得分:15)
在大多数情况下,您可以使用sequence
。
如果您需要该应用程序,则可以使用InstrumentationRegistry.getInstrumentation().targetContext
如果您还没有的话,我想您也是一个新的测试依赖项:
ApplicationProvider.getApplicationContext<MyAppClass>()
答案 2 :(得分:2)
我花了很多时间在应用testImplementation
中使用androidTestImplementation
而不是build.gradle
来移动依赖关系,并进行反向操作。
我的错是我在test
文件夹而不是androidTest
文件夹中创建了测试类,从而导致AndroidJuit4
和InstrumentationRegistry
出现未解决的错误。
当我将测试文件移至androidTest
文件夹时,通过在androidTestImplementation
中使用build.gradle
来实现测试库的跨部门实现解决了该问题。
答案 3 :(得分:1)
对于Kotlin的使用,为了获得上下文:
InstrumentationRegistry.getInstrumentation().targetContext
答案 4 :(得分:0)
InstrumentationRegistry.getInstrumentation().targetContext
已弃用。
使用ApplicationProvider.getApplicationContext();
。
答案 5 :(得分:0)
在导入下方使用
Sub Test()
Dim FileFldr As FileDialog
Dim FileName As String, OrigFilePath As String
Dim FileType As String, FilePath As String, CustID As String
Dim LastAttRow As Long
Dim vrtSelectedItem As Variant
CustID = txtID.Value
Set FileFldr = Application.FileDialog(msoFileDialogFilePicker)
With FileFldr
.AllowMultiSelect = True
.Title = "Select file to attach"
.Filters.Add "All Files", "*.*", 1
If .Show <> -1 Then GoTo NoSelection
For Each vrtSelectedItem In .SelectedItems
FilePath = Left(vrtSelectedItem, InStrRev(vrtSelectedItem, "\"))
FileName = Right(vrtSelectedItem, Len(vrtSelectedItem) - InStrRev(vrtSelectedItem, "\"))
FileType = Right(FileName, Len(FileName) - InStr(Dir(FileName), "."))
With Sheet6
LastAttRow = .Range("D9999").End(xlUp).Row + 1
.Range("D" & LastAttRow).Value = CustID
.Range("E" & LastAttRow).Value = FileName
.Range("F" & LastAttRow).Value = FileType
.Range("G" & LastAttRow).Value = FilePath
.Range("H" & LastAttRow).Value = "=Row()"
End With
Next
NoSelection:
End With
Sheet6.Activate
End Sub