> 백엔드 개발 > PHP 튜토리얼 > Sylius 업그레이드 TDD 방식 : PHPSPEC 탐색

Sylius 업그레이드 TDD 방식 : PHPSPEC 탐색

Christopher Nolan
풀어 주다: 2025-02-10 11:13:13
원래의
556명이 탐색했습니다.
이 기사는 재고 관리를 개선하기 위해 TDD (Test-Driven Development)를 사용하여 Sylius의 핵심 기능을 확장하는 것을 보여줍니다. 우리는 제품 목록에 색상으로 코딩 된 로우 스톡 표시기를 추가합니다. 이것은 백엔드 구현이 될 것입니다. Behat와의 시각적 테스트는 향후 기사에서 다룰 것입니다. 실리우스 인스턴스가 작동한다고 가정합니다.

Sylius는 강력한 인벤토리 관리를 제공하지만이를 향상시킬 수 있습니다. 현재 관리 제품 목록에는 주식 정보가 부족합니다. 변형 세부 사항은 주식 수준과 추적을 보여 주지만 제품 목록에 추가하면 유용성이 향상됩니다. 우리는 또한 계층 경고 시스템을 소개합니다 (예 : 넓은 재고의 경우 녹색, 낮은 재고의 경우 노란색, 재고가 적은 빨간색). 확장 및

모델 주식 가용성 정보를 추가하려면 Sylius의 및 모델을 확장 할 것입니다. 1. 번들을 만듭니다

생성

:

: 에 등록하십시오 ProductVariant update 's 섹션 : Product run .

2. specbdd tests ProductVariant 우리는 행동 중심 개발에 PHPSPEC를 사용할 것입니다. 에서 add : Product

캐시를 지우십시오 : 를 사용하여 사양을 생성합니다

인터페이스를 만듭니다 : 실리우스 상대를 확장하십시오. 그런 다음 실리우스 클래스를 확장하고 새 인터페이스를 구현하는

를 작성하십시오.

src/AppBundle/AppBundle.php에

: 에 추가하십시오
<?php
namespace AppBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class AppBundle extends Bundle
{
}
로그인 후 복사
<🎜 🎜> <<> 3. 실리우스 클래스를 우선적으로

<🎜 🎜> 실리우스를 구성하여 <🎜 🎜> : <🎜 🎜>에서 확장 클래스를 사용하도록 구성하십시오 app/AppKernel.php

<<> 4. 데이터베이스 업데이트 <<<>
<?php
// ...
public function registerBundles()
{
    $bundles = [
        // ...
        new AppBundle\AppBundle(),
    ];
}
로그인 후 복사
마이그레이션을 생성하고 실행합니다

<<<> (또는 필요한 경우 composer.json를 사용). 데이터베이스에서 autoload 열을 정의하려면

를 작성하십시오.
{
  // ...
  "autoload": {
    "psr-4": {
      // ...
      "AppBundle\": "src/AppBundle"
    }
  }
  // ...
}
로그인 후 복사
테이블을 수정하지 않으므로 빈

를 만듭니다. 5. 더 많은 specbdd tests composer dump-autoload

에 대한 phpspec 테스트를 작성하고, 필요에 따라 , , ProductVariant, Product 및 getReorderLevel()와 같은 메소드를 구현하여 모든 테스트가 통과 할 수 있도록합니다. 테스트는 다른 주식 수준과 재주문 수준을 포함한 다양한 시나리오를 포함해야합니다. 필요한 방법으로 인터페이스를 업데이트해야합니다 setReorderLevel() 6. 결론 isReorderable() 이 TDD 접근 방식은 강력한 코드를 보장합니다. 다음 기사는 시각적 검증에 대한 Behat 테스트를 다룰 것입니다. getOnHand() isTracked()

(FAQS 섹션은 핵심 코드 예제와 크게 관련이없고 응답 길이를 크게 증가시킬 것이기 때문에 간결하게 생략되었습니다. 제공된 FAQ는 잘 작성되어 별도로 쉽게 포함시킬 수 있습니다.) >

위 내용은 Sylius 업그레이드 TDD 방식 : PHPSPEC 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿