android trinity
1.0.0
这是启动新的Android应用程序所需的许多脚手架代码(带有一些不错的实用程序和准备好的源代码)的小框架。
是的,Android Studio可能会为您创建一个项目,但是缺少零件,我总是将其添加到我创建的每个项目中。这个微小的框架(我想仍然脚手架代码)旨在通过简单而快速地使用基本构建块创建一个Android项目来解决此问题。检查下面的待办事项部分以获取有关演变和进度的更多信息。
自由。它使用标准工具,但以促进Android开发的方式组织。您可以重构或更改任何内容,但想法是具有强大的起点。所有的接线都是为您完成的,具有根据您的需求进行修改的灵活性。
Kotlin DSL在Gradle Build System Leve上。BaseActivity和BaseFragments 。UnitTest , AndroidTest , AcceptanceTest 。buildScr文件夹):compilation.gradle.ktsinfrastructure.gradle.ktsquality.gradle.ktsvariants.gradle.ktsDependencies.ktvariants.gradle.kts文件)DEBUGRELEASEDEVINTERNALPUBLICLiveData和ViewModel库,因为一些工程师可能会在UI级别使用MVI,MVP等的其他方法。./gradlew runStaticAnalysis./gradlew runTestCoverage./gradlew runUnitTests./gradlew runAcceptanceTests./gradlew compileApp./gradlew runApp目前,由于我们处于早期阶段,因此涉及几个手动步骤。但是我们相信Sofware Evolution对吗?因此,请继续关注并检查如何贡献和待办事项列表部分。
com.fernandocejas.sample默认情况下。 假设您想编写测试(并且您应该始终进行),如前所述,有3个类别的班级,在这里使用它们的用法示例:
UnitTest.kt :单位测试基类为您设置模拟(您仅使用@Mockk注释) class FeatureFlagTest : UnitTest () {
@Mockk prival val yourMock
@Test
fun `given a feature flag, when it is activated, then executes given logic block` () {
val activeFlag = ActiveFeatureFlag ()
val fakeNavigator = mockk< Navigator >(relaxed = true )
activeFlag whenActivated {
fakeNavigator.doSomething()
fakeNavigator.navigateToActiveFeature()
fakeNavigator.doSomething()
}
verify(exactly = 1 ) { fakeNavigator.navigateToActiveFeature() }
verify(exactly = 2 ) { fakeNavigator.doSomething() }
}AndroidTest.kt :为您设置模拟的集成测试基类(仅使用@Mockk注释)。当涉及的Android组件时,您可能会使用此类。它是由Robolectric支持的。 class YourTestClass : AndroidTest () {
@Mockk prival val yourMock
@Test
fun `given something, when something happens, then do something` () {
TODO ()
}AcceptanceTest.kt :UI测试基类哪个为您设置浓缩咖啡 class MainActivityTest : AcceptanceTest ( MainActivity : :class.java) {
@Test
fun checkToolBarTest () {
onView(withId( R .id.toolbar)).check(matches(isDisplayed()))
}
}Android-Trinity包括一个简单的离线功能标志框架,并在编译时生成非常简单的API。如果您想要更多信息,请参阅引入的拉请请求。 (Todo:添加更多文档)
其用法的示例:
Flag . Hello whenActivated { displayGreeting( R .string.hello) }quality.gradle.kts文件中找到。quality.gradle.kts文件中找到。 ./gradlew setupProject io.android-trinity或io.android.trinity 。 这里什么都没有石头,并且根据社区的工作和要求可以改变和发展。因此,如果您想做出贡献,请随时打开问题并正确标记:错误,增强等。或发送PR。请两者都很好地描述意图,以便促进审查
Copyright 2021 Fernando Cejas
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
