我很高兴使用新的 Android 架构组件 ViewModel 系统,它很好地将 Activity/Fragment/Layout 渲染问题与 ViewModel 逻辑分开。我已经成功地对 ViewModel 进行了单独的单元测试,现在想通过向 Activity/Fragment 提供针对各种状态场景的模拟 ViewModel 来尝试一些屏幕截图测试。
我已经成功配置了我的 androidTests,以便能够在我的设备测试中使用 Mockito,这部分效果很好。
然而,官方推荐的调用 ViewModelProvider 或委托的方法by viewModels<>
似乎没有提供注入模拟 ViewModel 的方法。我不想只是为了解决文档中的这一遗漏而添加整个 DI 框架,所以我想知道是否有人有任何成功的示例,可以使用官方 Android 架构组件提供模拟 ViewModel,而无需额外依赖 Dagger 或 Hilt。
一年前唯一相关的答案ActivityTestRule
建议使用并手动控制活动生命周期,但该规则已被弃用,取而代之的activityScenarioRule
是不提供此控制的规则。
我是XSLT的新手,我已经完成了基本的转换.接下来我想尝试日期操作,因为我的数据将有时间戳.但是,我似乎无法使用任何日期功能,这让我非常沮丧.我正在使用Firefox 3.5,xsltproc 1.1.24,xalan 1.10和XMLSpy 2009进行测试,他们都说我尝试使用的功能不存在.
我的xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="datetime.xsl"?>
<watcher>
<event id="1" date="2009-09-04T13:49:10-0500" type="ABCD">This is a test </event>
</watcher>
</code>
Run Code Online (Sandbox Code Playgroud)
我的xsl看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="event[@type='ABCD']">
<!-- Date: <xsl:value-of select="day-from-dateTime(xs:dateTime(@date))"/> -->
<!-- Date: <xsl:value-of select="day-from-dateTime(@date)"/> -->
Date: <xsl:value-of select="fn:day-from-dateTime(@date)"/>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
如果我制作样式表版本2,XMLSpy会抱怨它无法投射我的日期: XSLT 2.0 Debugging Error: Error in XPath 2.0 expression (Cast failed, invalid lexical value - xs:dateTime '2009-09-04T13:49:10-0500')
如果我将其保留为版本1,它会抱怨不同的错误: XSLT 1.0 Debugging Error: Error in XPath expression (Unknown function - Name …