Что могут сделать разработчики, чтобы помочь в автоматизации тестирования?

здесь мой код для центрирования его внизу. Btw. в коде Дори есть небольшая ошибка: поскольку super.frame() вызывается в самом конце, метод getWidth() может вернуть неправильное значение. Если вы хотите сосредоточить его наверху, просто удалите строку postTranslate, и все готово. Самое приятное, что с помощью этого кода вы можете перемещать его в любом месте. (справа, в центре => нет проблем;)

    public class CenterBottomImageView extends ImageView {

        public CenterBottomImageView(Context context) {
            super(context);
            setup();
        }

        public CenterBottomImageView(Context context, AttributeSet attrs) {
            super(context, attrs);
            setup();
        }

        public CenterBottomImageView(Context context, AttributeSet attrs,
                int defStyle) {
            super(context, attrs, defStyle);
            setup();
        }

        private void setup() {
            setScaleType(ScaleType.MATRIX);
        }

        @Override
        protected boolean setFrame(int frameLeft, int frameTop, int frameRight, int frameBottom) {
            float frameWidth = frameRight - frameLeft;
            float frameHeight = frameBottom - frameTop;

            float originalImageWidth = (float)getDrawable().getIntrinsicWidth();
            float originalImageHeight = (float)getDrawable().getIntrinsicHeight();

            float usedScaleFactor = 1;

            if((frameWidth > originalImageWidth) || (frameHeight > originalImageHeight)) {
                // If frame is bigger than image
                // => Crop it, keep aspect ratio and position it at the bottom and center horizontally

                float fitHorizontallyScaleFactor = frameWidth/originalImageWidth;
                float fitVerticallyScaleFactor = frameHeight/originalImageHeight;

                usedScaleFactor = Math.max(fitHorizontallyScaleFactor, fitVerticallyScaleFactor);
            }

            float newImageWidth = originalImageWidth * usedScaleFactor;
            float newImageHeight = originalImageHeight * usedScaleFactor;

            Matrix matrix = getImageMatrix();
            matrix.setScale(usedScaleFactor, usedScaleFactor, 0, 0); // Replaces the old matrix completly
//comment matrix.postTranslate if you want crop from TOP
            matrix.postTranslate((frameWidth - newImageWidth) /2, frameHeight - newImageHeight);
            setImageMatrix(matrix);
            return super.setFrame(frameLeft, frameTop, frameRight, frameBottom);
        }

    }
2
задан DebanjanB 1 March 2019 в 07:50
поделиться

1 ответ

Test Driven Development упрощает автоматизацию. По моему мнению, тестеры должны быть разработчиками или бывшими разработчиками, которые хорошо умеют находить и предотвращать ошибки. Напишите тесты в том же проекте, в котором разрабатывается решение. Разработчики также могут вводить идентификаторы, хотя иногда они этого не хотят, и, если «тестеры» хороши, они могут даже отправлять запросы извлечения (в GitHub для пример) для улучшений кода, которые позволят им лучше тестировать. Думайте о тестировщиках как о части вашей команды разработчиков, где каждому разрешено вносить код. Это помогает с подотчетностью и улучшает автономию. Все готовы помочь друг другу, и если весь код находится в одном проекте, и весь код проверяется и утверждается перед объединением с мастером, каждый является потенциальным разработчиком, если все являются ИТ-специалистами. Старые дни ручного тестирования умирают. Отделение Dev от тестирования - кирпичная стена. Снесите это.

0
ответ дан 1 March 2019 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: