小编Ema*_*sVI的帖子

Cypress.io - 根据cy.route()中的请求参数以编程方式设置响应

我在端到端测试中存根api请求,并希望能够根据发出的请求参数返回不同的响应.

目前,无论发布什么内容,我的存根都会返回静态响应,如下所示:

cy.server()
cy.route({
    method: 'POST',
    url: '**/redeem-code',
    status: 200,
    response: {
        status: "Success"
    },
    delay: 500
})
Run Code Online (Sandbox Code Playgroud)

我希望能够检查发布的请求参数,然后有条件地决定返回哪个响应.我正在尝试做这样的事情:

cy.server()
cy.route({
    method: 'POST',
    url: '**/redeem-code',
    status: 200,
    response: (req) => {
        if(req.code == '1234') return { status: "Success" }
        else return { status: "Failure" }
    },
    delay: 500
})
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码不起作用; 这只是我想要做的一个例子.

我知道赛普拉斯允许使用响应方法,但是我找不到我想在他们的文档中做任何事情的语法.如何在响应方法中获取请求参数,以便我可以决定返回哪个响应?

javascript integration-testing end-to-end cypress

17
推荐指数
2
解决办法
1864
查看次数

Vue Test Utils / Jest - 如何测试类方法是否在组件方法中被调用

我的单元测试有一个有趣的问题。我的单元测试被编写为单击组件内的按钮。这个按钮调用一个组件方法,它包含一个类的实例Service(axios 的包装类)。这个组件方法唯一能做的就是调用Service.requestPasswordReset()。我的单元测试需要验证Service.requestPasswordReset被调用。

我知道我在正确地模拟我的服务类,因为这通过了我的单元测试:

await Service.requestPasswordReset()
expect(Service.requestPasswordReset).toHaveBeenCalled()
Run Code Online (Sandbox Code Playgroud)

而且我知道我在单击时正确调用了该方法,因为这通过了我的单元测试:

await wrapper.find('button').trigger('click')
expect(mockMethods.resend).toHaveBeenCalled()
Run Code Online (Sandbox Code Playgroud)

我只是无法让我的测试注册该Service方法被调用。有任何想法吗?

成分

<template lang="pug">
Layout
    section
        header( class="text-center py-4 pb-12")
            h1( class="text-grey-boulder font-light mb-4") Recovery Email
            p( class="text-orange-yellow") A recovery email has been sent to your email address

        div( class="text-center")
            div( class="mb-6")
                button(
                    type="button"
                    @click.stop="resend()"
                    class="bg-orange-coral font-bold text-white py-3 px-8 rounded-full w-48"
                ) Resend Email
</template>

<script>
import Layout from '@/layouts/MyLayout'
import Service from '@/someDir/Service'
export default {
    name: 'RecoveryEmailSent',
    page: { …
Run Code Online (Sandbox Code Playgroud)

unit-testing vue.js jestjs vuex vue-test-utils

6
推荐指数
1
解决办法
1万
查看次数

Android Studio Project:UI的底部被切断

当我将应用程序加载到手机或使用模拟器时,我的ListView底部和ImageButton被切断了.我可以使用边距或填充,但这不是特定于设备?无论屏幕大小如何,我都希望我的应用看起来像我想要的那样.这是我的代码:

班级:

public class Cookbook extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        String[] items = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(),
                        R.layout.row_layout,
                        items);

        View view = inflater.inflate(R.layout.frag_cookbook, container, false);
        ListView list = (ListView) view.findViewById(R.id.listView);
        list.setAdapter(adapter);


        return view;
    }
}
Run Code Online (Sandbox Code Playgroud)

布局XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff">

    <ListView
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="fill"
        android:id="@+id/listView"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        android:background="#f9e48f" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add"
        android:background="@null"
        android:layout_gravity="end|bottom"
        android:layout_alignParentBottom="true"
        android:baselineAligned="false"
        android:layout_alignParentEnd="true"
        android:layout_marginBottom="1dp" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-listview android-imagebutton

5
推荐指数
1
解决办法
3577
查看次数