이것은 새로운 안드로이드 애플리케이션을 시작하는 데 필요한 많은 스캐 폴딩 코드 (일부 좋은 유틸리티 및 준비된 소스 코드 포함)를 갖춘 작은 프레임 워크입니다.
그렇습니다. Android Studio는 프로젝트를 만들 수 있지만 누락 된 부품이 있습니다. 결국 내가 만든 모든 단일 프로젝트에 추가됩니다. 이 작은 프레임 워크 (여전히 스캐 폴딩 코드라고 말하는 것은 기본 빌딩 블록으로 안드로이드 프로젝트를 쉽고 빠르게 만들어서이를 해결하는 것을 목표로합니다. 진화 및 진행에 대한 자세한 내용은 아래의 TODO 섹션을 확인하십시오.
자유. 표준 도구를 사용하지만 안드로이드 개발을 용이하게하는 방식으로 구성됩니다. 리팩터를 리팩터링하거나 변경할 수는 있지만 아이디어는 강력한 출발점을 갖는 것입니다. 모든 배선은 귀하의 요구에 따라 수정되는 유연성으로 귀하를 위해 수행됩니다.
Kotlin DSL Gradle 빌드 시스템 제출에서 기본적으로.BaseActivity 및 BaseFragments .UnitTest , AndroidTest , AcceptanceTest .buildScr 폴더) :compilation.gradle.ktsinfrastructure.gradle.ktsquality.gradle.ktsvariants.gradle.ktsDependencies.ktvariants.gradle.kts 파일)DEBUGRELEASEDEVINTERNALPUBLICLiveData 및 ViewModel 라이브러리가 없습니다../gradlew runStaticAnalysis./gradlew runTestCoverage./gradlew runUnitTests./gradlew runAcceptanceTests./gradlew compileApp./gradlew runApp당시에는 매우 초기 단계에 있기 때문에 몇 가지 수동 단계가 있습니다. 그러나 우리는 Sofware Evolution을 믿습니까? 따라서 계속 지켜봐 주시고 기여하는 방법 과 목록 섹션을 모두 확인하십시오.
com.fernandocejas.sample 기본적으로. 언급했듯이 테스트를 작성 하고 싶다고 가정 해 봅시다.
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 주석 만 사용). 이 클래스가 관련된 안드로이드 구성 요소 일 때 사용할 수 있습니다. Robolectric에 의해 백업됩니다. class YourTestClass : AndroidTest () {
@Mockk prival val yourMock
@Test
fun `given something, when something happens, then do something` () {
TODO ()
}AcceptanceTest.kt : UI 테스트베이스 클래스 에스프레소를 설정하는 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.
