Size: a a a

2021 April 01

ДЖ

Дмитрий Жунёв... in Yii Framework 3
Alexander Makarov
А что проверяет этот тест?
Тест для entity Tegs проверяет:
class Tags
{
   /
    * @ORM\Column(type="primary")
    */
   private $id;
   /

    * @ORM\Column(type="string")
    */
   private $code;
   /
    * @ORM\Column(type="integer")
    */
   private $createdAt;
   /

    * @ORM\Column(type="integer")
    */
   private $updatedAt;
   /* GETTERS */
   /**
    * @return int
    */
   public function getId()
   {
       return $this->id;
   }
   public function getCode(): string
   {
       return (string)$this->code;
   }
   /* SETTERS */
   public function setCode(string $code): void
   {
       $this->code = $code;
   }
}
источник

ДЖ

Дмитрий Жунёв... in Yii Framework 3
Сейчас пишу тест для класса OptionValue, который имеет отношение к классу Oprion и содержит значение типа Option в одном из свойств.
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий Жунёв
Тест для entity Tegs проверяет:
class Tags
{
   /
    * @ORM\Column(type="primary")
    */
   private $id;
   /

    * @ORM\Column(type="string")
    */
   private $code;
   /
    * @ORM\Column(type="integer")
    */
   private $createdAt;
   /

    * @ORM\Column(type="integer")
    */
   private $updatedAt;
   /* GETTERS */
   /**
    * @return int
    */
   public function getId()
   {
       return $this->id;
   }
   public function getCode(): string
   {
       return (string)$this->code;
   }
   /* SETTERS */
   public function setCode(string $code): void
   {
       $this->code = $code;
   }
}
Я понял какой класс тест затрагивает. Но что именно он проверяет?
источник

ДЖ

Дмитрий Жунёв... in Yii Framework 3
Alexander Makarov
Я понял какой класс тест затрагивает. Но что именно он проверяет?
Геттеры и сеттеры сущности
источник

A

AZA in Yii Framework 3
а зачем вообще тестить геттеры и сеттеры
источник

ДЖ

Дмитрий Жунёв... in Yii Framework 3
для примера в сущности

public function setColorIds(array $ids) {
    $this->colorIds = $ids;
}

public function getColorIds():array {
    return [];
}

мы хотим в тесте проверить что геттер вернет именно то, что установили в сеттере
источник

ДЖ

Дмитрий Жунёв... in Yii Framework 3
и еще в случае релейшенов мы хотим проверить класс возвращаемого геттером объекта

например

public function getParent(): Parrent {
    return $this->parrent;
}

в тесте

$this->assertInstanceOf(Parrent::class, $entity->getParent());
источник

AM

Alexander Makarov in Yii Framework 3
А разве в Cycle это уже не покрыто тестами?
источник

AM

Alexander Makarov in Yii Framework 3
Ну да ладно...
источник

AM

Alexander Makarov in Yii Framework 3
> Подскажите, пожалуйста, как правильно писать unit тесты для  entity с relation?

Это будут уже интеграционные тесты, скорее всего. Пишутся как буд-то у вас нет базы, ну то есть как на публичный API но базу придётся или смокать или реально использовать.
источник

AT

Anton Titov in Yii Framework 3
Дмитрий Жунёв
и еще в случае релейшенов мы хотим проверить класс возвращаемого геттером объекта

например

public function getParent(): Parrent {
    return $this->parrent;
}

в тесте

$this->assertInstanceOf(Parrent::class, $entity->getParent());
Так у тебя же метод типизирован? Это тест пхп получается
источник

AT

Anton Titov in Yii Framework 3
источник

AT

Anton Titov in Yii Framework 3
Вот про тесты
источник

ДЖ

Дмитрий Жунёв... in Yii Framework 3
Anton Titov
Так у тебя же метод типизирован? Это тест пхп получается
А если кто-то убрал тип, и в ответе мы можем получить всё что угодно?
источник

А

Алексей R in Yii Framework 3
Дмитрий Жунёв
А если кто-то убрал тип, и в ответе мы можем получить всё что угодно?
Это не должно ревью пройти
источник

ДЖ

Дмитрий Жунёв... in Yii Framework 3
спасибо за полезную ссылку
источник

А

Алексей R in Yii Framework 3
Если хочешь тестить ещё и наличие связи, то это можно из схемы достать
источник

А

Алексей R in Yii Framework 3
Но это выглядит так, как будто ты с черным ящиком работаешь и этот черный ящик в архиве между поклонниками ворпресса и битрикса гуляет. То есть без гита
источник

ES

Eugene She in Yii Framework 3
Ребят, а кто как живет с мультиязычностью в yii

Есть модуль lajax в принципе подходит, но главная проблема в том, что человек, которому выгружаются переводы, не понимает контекста.
источник

AM

Alexander Makarov in Yii Framework 3
Тут так просто не решить.
источник