Skip to content

Commit

Permalink
Finish 22.10
Browse files Browse the repository at this point in the history
  • Loading branch information
theshadowco committed Oct 4, 2022
2 parents 567ea2f + c3d47e8 commit a0d45db
Show file tree
Hide file tree
Showing 334 changed files with 15,125 additions and 1,339 deletions.
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@
!/.idea/modules.xml
!/.idea/libraries/
!/.idea/runConfigurations/
!/.idea/copyright/
*.prefs
/eclipse_project/workspace/
target/
bin/
build/
/.gradle/*
/gradle*
!gradle.properties
!/gradlew*
*.hprof
/gradle.properties
*.orig
/dev/*
.project
.classpath
6 changes: 6 additions & 0 deletions .idea/copyright/IBM_BIA_1C.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/runConfigurations/EDT.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 0 additions & 46 deletions META-INF/MANIFEST.MF

This file was deleted.

47 changes: 42 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,46 @@
# Плагины для создания и запуска тестов в EDT
# Плагин для работы с модульными (unit) тестами в среде разработки EDT

Содержит исходники плагинов для создания и запуска тестов в EDT
Плагин является адаптацией [JUnit плагина](https://github.com/eclipse-jdt/eclipse.jdt.ui/tree/master/org.eclipse.jdt.junit) под работу в EDT

[Установка плагинов](docs/Установка.md)
* Позволяет запускать и отлаживать тесты написанные на языке 1С:Предприятия.
* Просматривать результаты выполнения
* Поддерживает работу с тестовым движком [YAXUnit](https://github.com/bia-technologies/yaxunit), который используется для разработки и исполнения тестов.

## Реализованная функциональность
Для начала использования вам необходимо:

* [Модульные тесты](docs/Модульные%20тесты.md)
1. [Установить плагин](docs/Установка.md)
2. Установить тестовый движок [YAXUnit](https://github.com/bia-technologies/yaxunit) в workspace

Все готово к работе.

## Запуск тестов

1. Для начала предлагаю ознакомиться с [документацией](https://github.com/bia-technologies/yaxunit/blob/master/README.md) тестового движка
2. После установки у вас должны быть:
1. Тестовое расширение с движком, в котором мы будем создавать тесты.

*Под тесты можно создать отдельное расширение, но для удобства разработки мы будем использовать то же расширение.*
2. Новый тип конфигурации запуска
![Расширение и конфигурация запуска](docs/images/launch-type-and-extension.png)
3. Используя [документацию](https://github.com/bia-technologies/yaxunit/blob/master/README.md) создадим тест.
4. Для его запуска создадим новую конфигурацию запуска
![Конфигурация запуска](docs/images/create-xunit-launch-configuration.png)
Настройки:
* `Конфигурация запуска 1С:Предприятия` - конфигурация, используемая для запуска 1С:Предприятие
* `Отбор` - Позволяет фильтровать запускаемые тесты
* `Тестовое расширение` - расширение, которому принадлежит модуль тестов
* `Тестовый модуль` - модуль, тесты которого нужно запустить
5. Запускаем созданную конфигурацию, после выполнения получаем отчет.

## Интерфейс редактора

![Интерфейс редактора](docs/images/test-example.png)

1. Отчет о тестовом прогоне
2. Команды перезапуска тестов
3. Команды запуска всех тестов модуля
4. Команды запуска конкретных тестовых методов
5. Информация об ошибке и сравнении ожидаемого и актуального значения
6. Контекстное меню отчета
7. Информация о конфигурации и времени запуска
8. Общая статистика по выполненным тестам
72 changes: 33 additions & 39 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,17 @@ plugins {
}

group = "ru.biatech.edt.xtest"
version = "0.2.6"
version = "22.10.0"
val vendor = "BIA-Technologies Limited Liability Company"
val createProjectYear = 2021
val licenseYear = if (Calendar.getInstance().get(Calendar.YEAR) == createProjectYear) "$createProjectYear"
else "$createProjectYear-${Calendar.getInstance().get(Calendar.YEAR)}"
val edtLocation = findProperty("edtLocation") ?: ""
val pluginBuildPath = layout.buildDirectory.dir("buildPlugin").get().asFile
val publishTo = (findProperty("publishTo") ?: "").toString()

var subProjects = arrayOf("viewer")

repositories {
mavenCentral()
}
Expand All @@ -29,37 +39,32 @@ tasks.withType<Copy>() {

sourceSets {
main {
java.srcDirs("src/main/java")
resources.srcDirs("src/main/resources")
resources.srcDirs("META-INF")
}
test {
java.srcDirs("src/test/java")
resources.srcDirs("src/test/resources")
java.srcDirs(subProjects.map { "$it/src/main/java" })
resources.srcDirs(subProjects.map { "$it/src/main/resources" })
resources.srcDirs(subProjects.map { "$it/META-INF" })
}
}

val edtLocation = findProperty("edtLocation") ?: ""

dependencies {
implementation(fileTree(edtLocation) { include("*.jar") })
}

license {
header = rootProject.file("templates/HEADER.txt")
ext["year"] = "2021-" + Calendar.getInstance().get(Calendar.YEAR)
ext["owner"] = "BIA-Technologies Limited Liability Company"
ext["year"] = licenseYear
ext["owner"] = vendor
useDefaultMappings = false
includes(listOf("**/*.java", "**/*.properties", "**/*.gradle.kts"))
includes(listOf("**/*.java", "**/*.properties", "**/*.gradle.kts", "**/*.xml"))
strictCheck = true
mapping("xml", "XML_STYLE")
mapping("java", "SLASHSTAR_STYLE")
}

tasks.register<com.hierynomus.gradle.license.tasks.LicenseFormat>("licenseEclipseProject") {
header = rootProject.file("templates/HEADER_FOR_PLUGIN_TEMPLATE.txt")
ext["year"] = "2021-" + Calendar.getInstance().get(Calendar.YEAR)
ext["owner"] = "BIA-Technologies Limited Liability Company"
source = fileTree("eclipse_project")
ext["year"] = licenseYear
ext["owner"] = vendor
source = fileTree("templates/eclipse_project")
useDefaultMappings = true
strictCheck = true
setIncludes(listOf("**/*.properties", "**/*.xml"))
Expand All @@ -70,28 +75,19 @@ tasks.named("licenseFormat") {
dependsOn(tasks.named("licenseEclipseProject"))
}

val pluginBuildPath = layout.buildDirectory.dir("buildPlugin").get().asFile

tasks.register<Copy>("buildPlugin-copyFiles") {
from("eclipse_project") {
filter { line -> line.replace("{version}", version.toString()) }
}
// TODO: Добавить очистку каталога сборки
from("templates/eclipse_project")

into(pluginBuildPath)

from(layout.projectDirectory.dir("src/main/java")) {
into("bundles/ru.biatech.edt.xtest/src")
}
from(layout.projectDirectory.dir("src/main/resources")) {
into("bundles/ru.biatech.edt.xtest/resources")
}
from(layout.projectDirectory.dir("META-INF")) {
into("bundles/ru.biatech.edt.xtest/META-INF")
filter { line -> line.replace(Regex("Bundle-Version.*"), "Bundle-Version: $version.qualifier") }
}
from(layout.projectDirectory.dir("plugin.xml")) {
into("bundles/ru.biatech.edt.xtest")
subProjects.forEach {
var sourceDir = layout.projectDirectory.dir(it)
from(sourceDir) {
into("bundles/$it")
}
}

group = "build"
}

Expand All @@ -103,28 +99,26 @@ tasks.register<Exec>("buildPlugin") {
environment("MAVEN_OPTS", "-Dhttps.protocols=TLSv1.2")

if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine("mvn.cmd", "package")
commandLine("mvn.cmd", "dependency:resolve", "package")
} else {
commandLine("mvn", "package")
commandLine("mvn", "dependency:resolve", "package")
}

dependsOn(tasks.named("buildPlugin-copyFiles"))
group = "build"
}

var publishTo = (findProperty("publishTo") ?: "").toString()

tasks.register<Copy>("publishToPath") {
doFirst{
if(publishTo==""){
throw GradleException("You must specify a property 'publishTo' for the publish task is 'gradle.properties'")
}
}
from("$pluginBuildPath/repositories/ru.biatech.edt.xtest.repository/target/repository"){
from("$pluginBuildPath/repositories/repository/target/repository"){
into("$version")
into("latest")
}
from("$pluginBuildPath/repositories/ru.biatech.edt.xtest.repository/target/ru.biatech.edt.xtest.repository.zip"){
from("$pluginBuildPath/repositories/repository/target/repository.zip"){
into("$version")
into("latest")
}
Expand Down
Binary file modified docs/images/create-xunit-launch-configuration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/launch-type-and-extension.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/select-plugin.png
Binary file not shown.
Binary file modified docs/images/select-repository.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/test-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 0 additions & 9 deletions docs/Идеи.md

This file was deleted.

16 changes: 0 additions & 16 deletions docs/Модульные тесты.md

This file was deleted.

4 changes: 2 additions & 2 deletions docs/Разработка в IDEA.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
1. Настроить [переменную пути](https://www.jetbrains.com/help/idea/absolute-path-variables.html#ignored-path-variables) указывающую на установленную версию EDT
1. Открываем настройки IDEA: File → Settings.
2. Переходим к настройкам переменных пути: Appearance & Behavior → Path Variables.
3. Создаем переменную `EDT_PATH` в которой прописываем путь до установленной версии EDT
3. Создаем переменную `EDT_PATH`, в которой прописываем путь до установленной версии EDT

![Переменные пути](images/settings-path-variables.png)
2. Перезапустить IDEA
Expand All @@ -28,7 +28,7 @@
* Заполнение лицензий
* Публикация плагина в каталог

Для настройки необходимо, в файле параметров `gradle.properties` указать:
Для настройки необходимо в файле параметров `gradle.properties` указать:

```properties
edtLocation=<Путь к установленной EDT>
Expand Down
Loading

0 comments on commit a0d45db

Please sign in to comment.