これは、新しいAndroidアプリケーションを開始するために必要な足場コードの多く(いくつかの優れたユーティリティと準備されたソースコードを使用)を備えた小さなフレームワークです。
はい、Android Studioはあなたのためのプロジェクトを作成するかもしれませんが、不足している部品があります。これは、私が作成したすべてのプロジェクトに常に追加することになります。この小さなフレームワーク(まだ足場コードがまだ言われます)は、基本的なビルディングブロックを備えたAndroidプロジェクトを簡単かつ速く作成することにより、これを解決することを目指しています。進化と進捗の詳細については、以下のTODOセクションを確認してください。
自由。標準のツールを使用しますが、Android開発を容易にするような方法で整理されています。アイデアは、堅牢な出発点を持つことです。すべての配線は、ニーズに応じて変更される柔軟性を備えて行われます。
Kotlin DSL 。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当時、私たちは非常に早い段階にあるため、いくつかの手動の手順があります。しかし、私たちはソフウェアの進化を正しく信じていますよね?そのため、お楽しみに、貢献方法とTODOリストセクションの両方を確認してください。
com.fernandocejas.sampleデフォルトで。 前述のように、テストを書きたいと思っています(そして常に行うべきです)。
UnitTest.kt :ockssのセットアップを使用するユニットテストベースクラス( @Mockk annotationのみを使用しています) 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コンポーネントである場合、このクラスを使用する場合があります。それはロボレクトリックによってバックアップされています。 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.
